Copyright: This help file copyright ® 1995 SoftQuad Inc.
Citation: This information copyright ® 1995 SoftQuad Inc.


Copyrights and trademarks

Welcome to HoTMetaL

Set-up

Getting started

HoTMetaL tutorial

HTML quick reference

Working with files

Marking up documents

URLs

Word-processing features

Working with images

Styles

Searching and replacing

Tables

Glossary

Appendix 1: SGML conformance


Copyrights and trademarks

Standard Identification

SoftQuad HoTMetaL is an SGML Application Conforming to International Standard ISO 8879 – Standard Generalized Markup Language.

Published by

SoftQuad Inc.

56 Aberfoyle Crescent

Toronto, Canada M8X 2W4

Telephone: (416) 239-4801

Fax: (416) 239-7105

e-mail: mail@sq.com

WWW: http://www.sq.com/

Document version

SoftQuad HoTMetaL 2.0 for Microsoft Windows

First Edition (October 1995)

SoftQuad Inc. makes no warranty of any kind with respect to the completeness or accuracy of this book. SoftQuad may make improvements and/or changes to the product(s) and/or programs described in this book at any time and without notice.

Copyrights and Trademarks

HoTMetaL and the HoTMetaL documentation Copyright (c) 1995 SoftQuad Inc. All rights reserved.

No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic, mechanical, recording, or otherwise—without the prior written consent of the publisher, excepting brief quotes used in connection with reviews written specifically for inclusion in a magazine or newspaper.

SoftQuad HoTMetaL is a trademark of SoftQuad Inc.

NCSA Mosaic is a trademark of the University of Illinois.

Enhanced Mosaic is a trademark of the Spyglass, Inc.

Netscape is a trademark of Netscape Communications Corp.

LView PRO (c) 1993-1995 by Leonardo H. Loureiro.

Microsoft Windows (TM) is a trademark of Microsoft Corporation.

Disclaimer

While HoTMetaL is made freely available by SoftQuad Inc. ("SoftQuad") as a service to the community of HTML users, it is provided for academic, research and internal business purposes only. Its use is subject to certain restrictions. In particular it may not be copied without the copyright notices and this disclaimer.

Parties wishing to make commercial use of the software should contact SoftQuad Inc. to negotiate an appropriate license for such use.

While SoftQuad is anxious to hear of any problems you may encounter with the software (hotmetal@sq.com) and intends to issue periodic maintenance releases, use of the software and its accompanying documentation is at your sole risk. They are provided "AS IS" and without warranty of any kind.

SoftQuad EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND AGAINST INFRINGEMENT. SOFTQUAD DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE SOFTWARE WILL BE CORRECTED. FURTHERMORE, SOFTQUAD DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF THE SOFTWARE OR ITS DOCUMENTATION IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY SOFTQUAD OR A SOFTQUAD REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT SOFTQUAD OR A SOFTQUAD REPRESENTATIVE), ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY.

UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL SOFTQUAD AND ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS BE LIABLE FOR ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE OR ITS DOCUMENTATION, EVEN IF SOFTQUAD OR A SOFTQUAD REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY.

Notice

Agencies of the United States Government please note:

RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 52.227-7013 and in similar clauses in the FAR and NASA FAR Supplement.


Welcome to HoTMetaL

Welcome to SoftQuad HoTMetaL, a professional SGML editor especially for HTML files.

About this manual

Contacting SoftQuad


About this manual

This manual consists of the following chapters:

– Welcome to HoTMetaL.

– Set-up instructions.

– Getting started, an introduction to HoTMetaL.

– A tutorial on HoTMetaL and HTML.

– An HTML quick reference.

– Chapters on each of the main areas of functionality:

– Working with files

– Markup

– Word-processing features

– URLs

– Images

– Styles

– Searching and replacing

– Tables

– A glossary.

– An appendix on SGML conformance.

– An index.

Using the manual


Using the manual

The `core' chapters of the manual are Getting started (Getting started), the tutorial (HoTMetaL tutorial), Working with files (Working with files), Marking up documents (Marking up documents), and URLs (URLs).

If you've never used HoTMetaL before, we strongly suggest that you work through the tutorial. We estimate that it will take about two hours to complete the entire tutorial; if you do not need to do the Forms section, it should take about an hour. If you want a quick introduction to the product, you can do just the first section of the tutorial, called Getting started: a basic document.

Even if you are familiar with HoTMetaL 1.0, you should read the Getting started and Marking up documents chapters to become familiar with changes to the HoTMetaL user interface.


Contacting SoftQuad

You can contact SoftQuad in the following ways:

– E-mail: mail@sq.com  (or see below for specific addresses)

– Telephone: +1 (416) 239-4801

– Fax: +1 (416) 239-7105

You can view the SoftQuad home page by choosing the SoftQuad Home Pagecommand in the Help  menu. This command will launch a browser with the URL http://www.sq.com/ (if you have never chosen a browser with HoTMetaL, you'll get a file chooser enabling you to locate and choose one).

To make general enquiries regarding HoTMetaL, send e-mail to hotmetal@sq.com, or contact us by phone or fax.

For general sales enquiries, send e-mail to sales@sq.com, or contact us by phone or fax.

SoftQuad welcomes your comments and suggestions on this manual. You can contact us at hotmetal-doc@sq.com.


Set-up

This chapter contains information on:

– Associating HoTMetaL with HTML files.

– Setting the HoTMetaL directory

Associating HoTMetaL with HTML files

Setting the HoTMetaL directory


Associating HoTMetaL with HTML files

If you want to associate HoTMetaL with your HTML files (allowing you to launch HoTMetaL by clicking on that file in the File Manager) do the following:

• Choose the Associate... command in the File Manager's File menu.

• In the File with Extension text box, enter `htm'.

• In the Associate With text box, enter the command:

c:\hm2\hm2.exe

(Or click on Browse... and choose the program from a file chooser.)

• Click on the OK button.


Setting the HoTMetaL directory

The directory where HoTMetaL is installed is referred to as `the HoTMetaL directory' throughout this documentation. Normally the HoTMetaL executable file (hm2.exe) is located in the installation directory, and HoTMetaL runs without a hitch.

If you are running a copy of hm2.exe that is not in the installation directory, it will not be able to find automatically the various auxiliary files and directories that it needs to run. In this situation you must inform HoTMetaL of the location of the HoTMetaL directory explicitly. To do this, you specify the HoTMetaL directory on the HoTMetaL command line:

• Click once on the HoTMetaL icon.

• Choose the Properties... command in the File Manager File menu.

• A dialog box will appear. In the Command line text box in this dialog, add the -sqdir option followed by the name of the HoTMetaL directory. For example:

d:\special\hm2.exe -sqdir c:\hm2


Getting started

This chapter tells you how to start up HoTMetaL, and gives the basic information you need to start creating and editing files. It contains sections on the following topics:

– Purpose of HoTMetaL

– Overview of the menus

– Some common error messages

 – Creating and editing files

– Templates

– Toolbars

– Preferences

– Special characters

– Showing or hiding tags

 If you are new to HoTMetaL, you should certainly read this chapter, as it will help you get acquainted with the product and learn about the components and procedures you'll need to get your work done.

Purpose: editors and browsers

An overview of the menus

Some common error messages

Creating and editing files

Templates

 Tool palettes

Setting preferences

`Special' characters

Pinning dialog boxes

Showing and hiding tags

If you see something you like...

For further information...


Purpose: editors and browsers

HoTMetaL is an editor for creating files that can be read by graphical browsers (such as Mosaic and Netscape) that are connected to the World Wide Web (WWW). The file format for such files is called HTML (Hypertext Markup Language). The main difference between an editor like HoTMetaL and browsers such as Mosaic is that HoTMetaL is for editing files, and browsers are for retrieving, displaying, and reading files. Any text editor can create an HTML file (but we believe that HoTMetaL is a more convenient and pleasant way of doing it). Browsers open a file saved by HoTMetaL, consisting of text and markup, and do things like screen formatting, generating graphical forms, issuing mail messages, and so forth. It's important to understand that the different kinds of programs do different things. There are many browsers available, and they can process the same HTML file in different ways—and these are outside the control of HoTMetaL. What is in HoTMetaL's control is creating correctly marked-up documents. You will find this important because documents are more easily interchanged (displayed by different people using different browsers, for example) when they conform to an agreed standard.

The HTML format is based on the Standard Generalized Markup Language (SGML). All HTML files are SGML files (the converse is not true, however—there are many other file formats described by SGML, so most SGML files are not in HTML format.)

Some browsers have a command (usually called View Source... or a similar name) that lets you see what the HTML format looks like. HoTMetaL provides an easy-to-use, graphical, structured editor for creating files in this format.


An overview of the menus

This section provides a summary of the main features.

– File menu: file manipulation, e.g., opening and saving files.

– Edit menu: cutting and pasting; find and replace.

– View menu: screen formatting.

– Markup menu: inserting and changing markup; creating and editing tables.

– Links menu: creating and editing anchors.

– Special menu: checking document conformance.

– Help menu: on-line help.


Some common error messages

Four common error messages that are caused by running out of memory are:

Not running on a DPMI implementation

cons: out of memory

Not enough memory to run application.

Insufficient memory to run this application.

Quit one or more Windows applications and then

try again.

The first message is the most serious one: it means that you do not have enough free memory for Microsoft Windows to run in enhanced mode, which is required for HoTMetaL. You will have to install more `real' memory in your PC. We recommend that you have at least 8 Mb (preferably 12 Mb) of real memory.

The other messages mean that there is not enough free memory to start up HoTMetaL.

• Choose About Program Manager... from the Program Manager's Help menu. The amount of free memory is displayed at the bottom of the dialog box that appears.

• Now double-click on the Control Panel icon (usually found in the `Main' program group) and then double-click on the Enhanced icon in the window that appears.

• In the dialog box that now appears, click on the Virtual Memory button. This brings up a dialog box that displays the swapfile size. You can calculate the actual amount of memory available in the system by subtracting the swapfile size from the free memory displayed by the Program Manager.

HoTMetaL requires some `real' (core) memory to start up, so you will have problems if the amount you calculated above is very small or negative.

These are some of the strategies for freeing up memory:

1. Close some applications.

2. From the DOS prompt, type:

smartdrv

This tells you how much memory has been allocated for smartdrv. Typically this will be 2 Megabytes. You can lower this amount by opening the autoexec.bat file and and adding parameters that set the memory allocation at the end of the SMARTDRV entry. For example, you can try `512 512'. You must then reboot your PC.

3. As a last resort, you can restart Windows, or reboot your PC. If memory has been temporarily corrupted, the memory error may be bogus.


Creating and editing files

This section gives the basic information needed to start editing files with HoTMetaL.

• Launch HoTMetaL.

The first time you launch HoTMetaL, you will get a dialog box displaying registration information.

Creating a new file

Editing an existing file

Now what?


Creating a new file

 When you launch HoTMetaL, there is no open file. To create a new file:

• Choose the New command in the File menu or click on the [image]   button.

HoTMetaL opens the default template file. You can choose the default template using the Preferences... command in the Special menu.


Editing an existing file

If you already have an HTML file that you want to edit:

• Choose the Open... command in the File menu or click on the  [image] toolbar  button.

• In the dialog box that appears, choose the file that you want to edit.

Once you've done this, HoTMetaL opens the file and you can begin editing.

HoTMetaL will try to open HTML files even if they contain bad markup, but occasionally it will not be able to open a file.


Now what?

Now that you have an open file, you can start entering text and markup. The markup consists of:

– Elements, which surround parts of the document according to their function or appearance. Elements begin with `start-tags' and end with `end-tags'. You can enter elements by using the toolbars (see Tool palettes) or the Markup menu (see Marking up documents).

– Attributes, which are values associated with elements, but are not part of the content. You can enter attributes with the Edit SGML Attributes... command in the Markup menu (Attributes).

If you're unsure of what to do at this point, we suggest that you try the HoTMetaL tutorial (HoTMetaL tutorial) which has exercises demonstrating the main features of HoTMetaL and HTML.

The name of the current element is displayed in the lower left corner of the document window, just to the left of the horizontal scrollbar.


Templates

A number of document templates are supplied with HoTMetaL, in the template directory  in the HoTMetaL directory.  You can open these with the Open... command in the File menu, or, more conveniently, with the Open Template... command in the File menu. The file aareadme.htm  in this directory  gives you an index of templates.


Tool palettes
Toolbars

HoTMetaL has three toolbars, which are located just below the menu bar by default. The top toolbar (referred to as the `Standard' toolbar) provides quick access to a number of frequently-used menu commands. The middle (`Common HTML') toolbar is for creating the more common HTML elements; the bottom (`Other HTML') toolbar is for creating the less common HTML elements. A `tooltip', a short description of what a button does, will appear if you position the mouse pointer above it.

All three toolbars can be `torn off': just click anywhere on the toolbar's background and drag it to wherever you want. When a toolbar is torn off, it becomes a two-column `palette'. To change the palette back to a toolbar, click on its title bar and drag it back to its default location. The Toolbars... command in the View menu lets you choose which toolbars should be visible. You can dismiss a palette by double-clicking on the control button in its upper left corner.

 `Standard'

`HTML'


`Standard'
`Standard' toolbar icons

– [image] New (see Creating a new file)

– [image] Open... (see Opening a file)

– [image] Save (see Saving files )

– [image] Print...

– [image] Cut (see Cut)

– [image] Copy (see Copy)

– [image] Paste (see Paste)

– [image] Undo (see Undo)

– [image] Redo (see Redo)

– [image] Find and Replace... (see Find and Replace...)

– [image] Find Next (see Find Next)

– [image] Check Spelling...

– [image] Thesaurus...

– [image] Hide Tags (see Showing and hiding tags )

– [image] Insert Element... (see Inserting an element)

– [image] Remove Tags (see Removing tags)

– [image] Validate Document (see Checking the markup)

– [image] Insert Table (see Inserting a table)

– [image] About HoTMetaL...


`HTML'
`HTML' toolbar icons

When you click on a button in either of the HTML toolbars,  HoTMetaL will insert an element or change the current element type, as appropriate. See the section Using the toolbars to create markup (Using the ) for more information.


Setting preferences

Many of HoTMetaL's configuration settings (e.g., find options,  toolbar visibility, previewing browser) are set from the related dialog boxes. Some settings that don't have a dialog box or command associated with them can be set using the Preferences... command in the Special menu. All of these preferences are `global': they will apply to all open documents, and will be saved for the next editing session. After you've made your choices, click on the Apply button.

Displaying images

Default template

Save options

Tooltips

Tag icons

Settings in the `hm2.ini' file


Displaying images

If you want GIF images in your documents to be displayed inline (in place in the document window), turn on the check box labeled Display images after open. This specifies the default behavior for all documents: you can override this setting for individual documents by choosing the Show (Hide) Inline Images command from the View menu. See the chapter Working with images (Working with images) for more information on displaying images.


Default template

The default template is the file that is opened when you create a new document with the New command. Depending on the kind of documents you need to create, you could use a basic template that just has the minimum required elements, or a more detailed template that contains an image representing your company logo, some standard text, etc.


Save options

If you want HoTMetaL to make a backup file each time it saves a file, turn on the check box labeled Make backup file when saving changes. The backup file will be a copy of the previously saved version of the file. The name of the backup file will be the current filename, with the .htm extension changed to .bak.

HoTMetaL will save the current file automatically after a specified number of minutes or after a specified number of changes have been made to it. Enter the values you want to use in the appropriate text box.   The default values are 64000 changes and 1000 minutes. Keeping these defaults effectively turns off the auto-saving feature. If you want HoTMetaL to warn you each time it automatically saves a file, turn on the Inform when automatically saving check box.

If the Break lines on save check box is turned on, HoTMetaL will add a line break to saved files after every 80 characters, except when this would cause the markup to be illegal, or would interfere with formatting and readability, i.e., it will not add a space:

– Just before the `>' character in a start-tag.

– Between attribute values.

– Just before an end-tag.

In these cases, HoTMetaL will add a space at the first legal position.


Tooltips

If the Show Tooltips check box is turned on, HoTMetaL will display a `tooltip' when the mouse cursor is above a toolbar button. A tooltip is a short message telling what the button does.


Tag icons

You can specify the font, font size, and color  that HoTMetaL uses to display the start- and end-tag icons of elements. Your choices are the same as those available for ordinary text via the Styles... command in the View menu.


Settings in the `hm2.ini' file

Much of HoTMetaL's behavior is controlled by the hm2.ini file in the HoTMetaL directory. This file is updated automatically when you make choices from the Preferences dialog, choose a browser with the Preview command, etc. If you [rdquo ]know what you're doing[ldquo ], you can edit this file (using a text editor) directly. There are a few settings that can be changed only from this file; some of the more useful ones are:

– The default directory for opening files.

You can set this by giving a value for the document_path setting, e.g.:

document_path=c:\frances\html

– The default directory for saving files.

By default, this will be the same as the directory for opening files. You can specify a different directory by giving a value for the save_path setting, e.g.:

save_path=c:\marylou\html

– The line length in a saved file.

You can override the default line length (80 characters) by giving a value for the export_max_line_len setting, e.g.:

export_max_line_len=255

You can prevent HoTMetaL from inserting extra line breaks with the following setting:

export_add_line_breaks=false

 The hm2.ini file contains comments that explain what the settings do.

After you change the hm2.ini file you must restart HoTMetaL in order for the changes to take effect.


`Special' characters

HTML supports the ISO 8859/1 character set (also called ISO  Latin 1) and a number of other `special' characters. To enter a `special' character (one that doesn't have a key on your keyboard) you can:

–  Hold down the Alt key while typing (from the numeric keypad) a zero followed by the ANSI numeric code for the character you want. (Make sure `NUM LOCK' is on when you do this.) For example, Alt + `0233' will enter the `é' character.

–  Choose Special Characters... from the Markup menu. This gives you a  palette  for special characters:

Just click on a character with the mouse to insert it.

To dismiss the Special Characters palette, double-click on the control button in the upper left corner of the palette.

When you save a file, non-ASCII characters will be converted to entities. For example, `é' will be converted to `&eacute;'.


Pinning dialog boxes

Most of the HoTMetaL dialog boxes will be dismissed once you perform an action in them (clicking on Apply, Ok, Insert Element, etc.). You may find some dialog boxes more convenient to use if you pin them to the screen by clicking on the button in the upper left corner of the dialog and choosing Pin from the menu that appears. A pinned dialog box will stay up on the screen after you perform an action. You can move the dialog to a convenient location on the screen so that it doesn't cover part of the document window.


Showing and hiding tags

By default the HTML tags in your document will appear on the screen as small tag icons. The tags that point to the right are start-tags, indicating the beginning of an element, while those that point to the left are end-tags, indicating the end of an element. If you choose Hide Tags in the View menu, the tags will be hidden. The command will then toggle to Show Tags: choosing this command will display the tags again. The [image] toolbar  button is equivalent to this command.


If you see something you like...

If you see a web page that contains a typographical effect, form, etc., that you like, then the easiest way of achieving the same thing yourself is to save the file with the browser (make sure you save it in HTML format) and then open it with HoTMetaL. Remember, though, that some files that you download from the web may have incorrect markup. Also note that while document markup is not copyrighted, some graphic images are.


For further information...

The file faq.htm  in the HoTMetaL installation folder contains titles and URLs for documents that contain information on HTML usage. Open this file with a browser and retrieve the documents that you're interested in.

A number of HTML tutorials, of varying quality, are usually available on the web. Our own tutorial is in the next chapter. The relevant Usenet newsgroups (those in the comp.infosystems.www hierarchy) are also a source of information, including an FAQ (Frequently Asked Questions) list.

Our technical support web pages (accessible from our home page) contain answers to frequently asked questions, particularly those that concern auxiliary technologies such as browsers.


HoTMetaL tutorial

If you're new to creating web (HTML) documents, you may want to use this short tutorial.

The tutorial covers the following topics:

– The basic document: titles, headers, and paragraphs (Getting started: a basic document)

– Character formatting: inline text (Character formatting: adding emphasis to inline text)

– Block formatting (Formatting blocks of text)

– Lists: ordered lists, unordered lists, and definition lists (Lists)

– Links and URLs: anchors and images (Links and URLs)

– Forms (Forms)

The tutorials don't cover each topic exhaustively, but give enough information for you to master a topic with additional details from the next chapter, HTML  Quick Reference (HTML quick reference).

The first part of the tutorial may be used as a `quick start' that shows you how to create a file with HoTMetaL. When you've finished that section, you can continue with the other sections or, if you feel comfortable using or experimenting with HTML, you can skip over the rest of the tutorial and refer to the HTML  Quick Reference when you need to find out something about HTML.

Getting started: a basic document

Character formatting

Formatting blocks of text

Lists

Links and URLs

Forms


Getting started: a basic document

• Start up HoTMetaL.

Three  toolbars should be visible. If they aren't:

• Choose Toolbars... in the View menu.

• Turn on all three check boxes.

• Click on Ok.

Now:

• Choose Open Template... in the File menu.

• Select the file tutor.htm   in the file chooser.

• Click on the Ok  button.

HoTMetaL opens this template, which you can now edit. Notice that the file name in the document window is Document1: when you open a template, HoTMetaL changes the name so that when you save the document, the original template doesn't get overwritten.

This template contains all the required parts for a valid HTML document (head, title, body) but it doesn't have any content yet.

• Move the insertion point inside the TITLE element (that is, just to the right of the TITLE start-tag).

The label inside TITLE is not part of the content of the element: it's a prefix that prompts you to enter some text.

• Inside the TITLE element, type a title for your sample document.

When you display this document in a browser, the contents of this element will be displayed in the title bar.

The main part of your document is the body, contained in the BODY element.

• Move the insertion point   to the right of the BODY start-tag.

You have many choices of elements to insert. However, it's normal to start your document with a heading. Web documents have six levels of headings, represented by the elements H1 through H6.

An H1 heading should be used for major divisions in your document.

• Click on the [image] toolbar button.

• Type the following (or some other text of your choice) inside the H1 element:

George Orwell

Now you're ready to insert some text.

• Move the insertion point   to the right of the H1 end-tag.

• Click on the [image] (paragraph) toolbar button.

• Type some text such as the following:

You can begin smaller subdivisions of the document with lower-level (H2 through H6) headings. You can skip levels if you want, but your documents will usually look better if you don't.

• Move the insertion point to the right of the P end-tag.

• Click on the [image] toolbar button.

• Type the text:

Early life and education

• Move the insertion point to the right of the H2 end-tag.

• Click on the [image] toolbar button.

• Type the text:

The document will now look something like this:

Now perhaps you'd like to see what this document will look like when it's published on the Web. But first, save the file:

• Click on the [image] toolbar  button, choose Save from the File menu, type Ctrl-S   at the keyboard.

• Now, choose Preview... from the File menu, or type Ctrl-M  at the keyboard.

If you have never chosen a browser (such as Mosaic or Netscape) for previewing, you'll get a file chooser dialog box that lets you locate and choose one. Once a browser has been chosen you'll get a dialog box displaying a list of all the browsers you've chosen.

• Select a browser from the list and click on the Preview button.

The browser is launched, displaying your document.

See Previewing your file in a browser if you want more information on the Preview... command.

As we suggested at the start of the chapter, you may now wish to skip directly to the HTML  Quick Reference, or continue with the tutorial.


Character formatting
Character formatting: adding emphasis to inline text

This section is about formatting inline text—text that's embedded a paragraph or some other block of text. Formatting blocks is covered in the next section. In an HTML document, you add emphasis to a piece of text by surrounding it with an element. This is similar to the approach of many desktop publishing programs, in which you would, for example, highlight a piece of text and choose a type style from a menu.

• In the document you just created, highlight the words `Eric Arthur Blair'.

• Click on the [image] toolbar button.

This time, clicking on the toolbar button has surrounded the selection (with EM and EM tag icons). The text should be formatted in italic (unless someone has changed the styles). In any case, a browser will format it in italic—you can use Preview... to try this out.

Of course, you don't always have to surround the text after you've typed it—you can insert an EM element by clicking on the [image] toolbar button when there's no highlighted text, and then just type the text between the tags.

For more information on character formatting, see the section Character formatting (Character formatting) in the HTML Quick Reference.


Formatting blocks of text

There are several elements that you can use to surround parts of your document that require special formatting. For example, suppose you wish to add a block quote to the sample document you created above:

• Move the insertion point   to the right of the last P end-tag.

• Click on the [image] toolbar button.

This inserts a BLOCKQUOTE element.

• Type the letter `O'.

As soon as you do this, HoTMetaL inserts a P element inside the BLOCKQUOTE. This is because the HTML rules do not allow text directly inside BLOCKQUOTE, but BLOCKQUOTE can contain P elements, which can contain text.

• Continue typing the text:

Orwell portrayed his prep school days in

harsh terms in the essay "Such, Such Were the

Joys...". This may have been the result of

interpreting his early experiences in the light

of his later political consciousness.

(B. R. Jones)

Notice that the text is indented slightly to set off the quotation. A browser will display a block quote with similar special formatting.

For more information on block formatting, see the section Block formatting (Block formatting) in the HTML  Quick Reference.


Lists

You can insert five different types of lists in your document.

Ordered (numbered) lists

Unordered lists

The other unordered list elements are MENU and DIR: see the section List elements (List elements) in the HTML  Quick reference for more information.

Definition lists


Ordered (numbered) lists

Ordered lists are lists with numbered items. You don't have to add the numbers yourself—a browser will add these for you.

• Move the insertion point   to the right of the BLOCKQUOTE end-tag in the sample document.

• Insert an H2 element from the toolbar.

• Type:

Orwell's Four Great Motives for Writing

• Move the insertion point   to the right of the H2 end-tag.

• Click on the [image] (ordered list) toolbar button.

When you do this, HoTMetaL automatically inserts an LI (list item) element inside the LI. With one exception, all lists consist of one or more LIs.

• Inside the LI element, type:

Sheer egoism

This is a convenient place to introduce a useful technique for adding elements: splitting the current element.

• Make sure the insertion point   is just to the left of the LI end-tag.

• Type Return or Enter.

HoTMetaL splits the LI element, in effect creating a new, empty LI element after the current one. Splitting an element just before the end-tag is a convenient way of inserting a new element that has the same type as the current element. If you split an element in the middle of the text, everything before the insertion point   goes in one element, and everything after goes in the other one. Another way to split an element is to choose Split Element from the Markup menu, or type Ctrl-P  at the keyboard.

• Inside the new LI, type:

Aesthetic enthusiasm

• Split the current LI element.

• Type:

Historical impulse

• Move the insertion point to the right of the last LI end-tag.

• Type:

Political purpose

As soon as you start typing, HoTMetaL inserts an LI element, because you can't type directly inside an OL. In general, if you type somewhere that text is not allowed, HoTMetaL will attempt to insert a valid element so that you can continue entering text.

• Continue typing.

To see how ordered lists look, you should preview the document:

• Save the file.

• Choose Preview... from the File menu or type Ctrl-M   at the keyboard.

As you can see, the browser has inserted the list numbers automatically.


Unordered lists

An unordered list is one whose items aren't numbered, but instead start with `bullets' of some kind. Actually there are several kinds of unordered lists available to you: here we'll use the most common and general-purpose list element, UL (unordered list). In this section you'll also learn a new markup feature, changing the element type.

• Move the insertion point   to a position between the OL start-tag and the first LI start-tag.

• Click on the [image] button in the toolbar.

The OL start- and end-tags have changed to UL tags. If you click on a toolbar button, and HoTMetaL can't validly insert an element, it'll try to change the current element to the one you've chosen. (You can also change the element by choosing Change... from the Markup menu, or typing Ctrl-L  at the keyboard.)

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

The browser now displays the list items with bullets rather than numbers.

You can nest lists by inserting a UL, OL, etc., inside a list item (LI). Some browsers will change the list bullets for the nested list.


Definition lists

A third type of list is the `definition list', or `glossary list', (DL). This list is different from the others because it doesn't consist of list item (LI) elements. Rather, it consists of a series of terms (DT) and definitions (DD). As the name implies, this list is intended to display definitions, though you can use it for any list that requires two-part entries. When a definition list is displayed in a browser, a definition is typically displayed on a separate line from the corresponding term, and indented slightly.

• Insert a new P element after the last list.

• Type:

Orwell's novel "1984" described the use of a

lexicon called "Newspeak" that was designed to give

the appearance of real content while actually

allowing the authorities to successfully lie and

obfuscate. Some examples:

• Click on the [image] (definition list) toolbar button.

Notice that HoTMetaL inserts the DL element just after the paragraph, because lists can't be inserted inside paragraphs.

The valid elements inside a DL are DT (definition term) and DD (definition). Although you're allowed to arrange them however you like, the normal ordering would be to have one DT (or more, if, for example, you are defining several words with the same meaning), followed by one or more DDs.

• Click on the [image] (definition term) toolbar button. (If you were to just start typing here, instead of inserting a DT from the toolbar, HoTMetaL would insert the DT for you, because you can't type directly inside a DL. As you become more familiar with the HTML rules, you can take advantage of shortcuts such as this.)

• Type:

Prolefeed

• Move the insertion point to the right of the DT end-tag.

• Click on the [image] (definition) toolbar button.

• Type:

Mass entertainment

Now create two more definitions:

• Insert a DT element after the DD.

• Type:

Goodthink

• After the DT, insert a DD.

• Type:

Orthodoxy

• Insert a DT element after the last DD.

• Type:

Joycamp

• After the DT, insert a DD.

• Type:

Forced-labor camp

To see how this list is displayed in the browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

Notice that the definitions are set off from the terms.

See the section List elements (List elements) in the HTML  quick reference for more information on lists.


Links and URLs

It is normal for HTML documents to contain links to other documents, which can be located anywhere on the WWW. These links are provided by URLs (Uniform Resource Locators), which name the location and filename of a document, and the method (scheme)used to access it.

Anchors

Links to a specific location

Images

For more information on images, see the chapter Working with images (Working with images).


Anchors

When you want to create `hot text' that someone can click on in a browser and cause a document to be accessed, you should use an `anchor' (A) element.

• Move the insertion point   just to the left of the  BODY end-tag.

• Type the text:

See also the

(HoTMetaL will surround the text with a paragraph.)

• Click on the [image] toolbar button. (This is equivalent to choosing the Insert Anchor...command in the Links menu.)

This creates an A element, and brings up the Edit URL dialog box.

Next to the Scheme label in this dialog box there are a  text box and a drop-down list  that let you choose a scheme, which describes how the file referred to in the URL will be accessed by a web browser. For example, if the document were on a web server, you would choose the scheme http.

• Choose the `file' scheme.

You are using this scheme because the file you're going to choose is on your own filesystem.

• Click on the Choose File... button.

This causes a file selection dialog box to appear.

The file you should choose is located in the  directory doc in the HoTMetaL installation directory.

• Navigate to that  directory and choose the file works.htm.

Notice that the file name has been inserted in the  text box next to the Choose File... button. You could have typed the file name there directly, but it's probably more convenient for you to use the file selection dialog box.

Most of the time URLs will also have a host component, specifying the network location of the file that's being pointed to, but in this case you don't need one because the file is on your local system.

• Click on the Ok button.

The URL that you entered is displayed in the message area in the lower left corner of the HoTMetaL window.   If you've chosen Show URLs in the View menu, the URL will also be displayed to the right of the A start-tag in the document window.

The next step is to enter the `hot text', a phrase that the user will click on in the browser to access the file pointed to by the URL.

• Inside the A, type the text:

bibliography

The word `bibliography' is the hot text. In a browser it will be displayed in a different color from surrounding text, and perhaps underlined, to alert the user that it points to another document or location.

To see how this works, you should view the document in a browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

• In the browser, double-click on the word `bibliography'.

The browser will now display the file works.htm.


Links to a specific location

It's possible to make a link to a specific location in the same document or in another document. Then, when you click on an anchor (call it the `source') the browser window will display another anchor (the `target') at the location you've linked to, opening another document if necessary.

• Highlight the words `Four Great Motives' in the second H2 element.

This piece of text will be the target anchor.

• Click on the [image] toolbar button, or choose Name Target...from the Links menu.

The dialog box that appears lets you assign a name to the target anchor. The browser will use this name to locate the anchor. The first word in the document's selection becomes the default name, but you can enter other text if you wish.

• In the Name text box, type:

Why

• Click on the Ok button.

Notice that the highlighted text is now surrounded by an A element.

You have created the `target' anchor. Now you have to set up the `source' anchor:

• Move the insertion point   to the left of the first P end-tag.

• Split the P element.

• In the new P element, type:

One of his well-known essays is Why I Write

• Highlight the words `Why I Write'.

• Click on the [image] (connect link) toolbar button, or choose Connect Linkfrom the Links menu.

The highlighted text is now surrounded by an A element. Notice that the URL displayed in the message area in the  lower left corner of the HoTMetaL window reads `#Why'. What HoTMetaL has done is create a source anchor whose URL refers to the name `Why' that you just gave the target anchor.

Now you're ready to see the effect of what you've just done.

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-S  at the keyboard.

• If both of the anchors you just created are visible, resize the browser window so that you can see only the first one.

• In the browser, double-click on the words `Why I Write'.

The browser window will now scroll so that the location of the target anchor is visible.

You can also use these commands to create a link from one document to a specific location in another document. Once you create the target anchor, HoTMetaL remembers the name you gave it and the document it's in, and the next time you perform a `connect link' operation, it creates a source anchor that refers to that target anchor.

See the chapter URLs (URLs) for more information.


Images

Web documents often include graphical images. Images are inserted in a document using an IMG element.

• Click on the View menu.

• If the menu contains the command Show Inline Images, choose this command. If it contains the command Hide Inline Images, do nothing.

• Move the insertion point   to a position just to the right of the  H1 end-tag.

• Click on the [image] toolbar button.

This inserts an IMG element, and brings up the Edit Image dialog box.

• Click on the Edit... button.

This gives you the Edit Image Source dialog box, which is similar (but not identical) to the Edit URL dialog box. In this dialog, you will construct a URL for the image.

• Choose the `file' scheme.

• Click on the Choose File... button.

• Navigate to the directory doc in the HoTMetaL installation directory.

•  Choose the file author.gif.

• Click on the Ok in the Edit Image Source dialog box.

• In the Alternate Text text box   in the Edit Image dialog, type:

Anonymous

This provides text that a browser will display if it doesn't have the ability to display images.

• Click on the Ok button in the Edit Image dialog box.

When you do this, a graphical image will be displayed inline, in the HoTMetaL document window. (This is not really George Orwell, but another writer whose work you know if you're reading this manual.)

The inline image will be displayed in the browser, too.

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.


Forms

There are certain elements that a browser will display as graphical objects, such as  text boxes or drop-down lists,  that can accept input from a user. A `form' in an HTML document is a set of such elements that lets the user enter some information and then call a program, located on a web server, that processes the information. For example, you could create a form that lets a user order a product that you're selling: you can set up the form so that when the user clicks on a `submit' button, the order is sent to your order-processing program.

To implement this, you have to:

– Create the form(s).

– Install on your server the program that will process the form's data.

The second of these two steps is beyond the scope of HoTMetaL. You will have to obtain supplementary documentation that explains this mechanism, which is known as CGI (Common Gateway Interface). If you open the file faq.htm   in the HoTMetaL  directory you will find a reference to a document on this topic.

This tutorial explains how properly to set up a sample form.

We suggest that for this exercise you create a new HTML document.

• Choose Open Template... from the File menu.

• Open the file tutor.htm in the template directory.

• Now insert an H1 element inside the BODY and type:

Buy my book!

• Insert a P element after the H1, and type:

Just click on the "Submit" button in the form below

to order any or all of these best-sellers at a

fraction of the regular cost!

Actions

Creating a text field

Entering several lines of text

Presenting a list of choices

Check boxes

Radio buttons

Reset

Submitting the form


Actions

Now you're ready to start constructing a form.

• Click on the [image]  button to insert a FORM element after the P element.

This element encloses everything else in the form. For the remainder of this exercise, make sure that you're working inside the FORM element.

Notice that the [image]  button is one that is associated with a group of associated elements. All of the form-related elements that you'll use in this tutorial can be entered using this button.

• Choose Edit URL... from the Links menu.

The URL you'll create is referred to as the form's `action'.

• From the Scheme drop-down list, choose `http'.

• In the Host text box,  type:

www.sq.com

• In the Path text box,  type:

cgi-bin/quagmire

• Click on the Ok button.

The `action' you've just specified refers to a program, located on SoftQuad's Web server, that can process the data entered in the form. At the end of the tutorial, you can submit the form to this program. Normally you would specify a program on your own server, though in fact you can specify programs located anywhere on the Web.

• Choose the Edit SGML Attributes... command from the Markup menu, or type F6   at the keyboard.

This brings up a dialog box that lets you edit the attributes of the current element.

• Set the attribute called METHOD to the value `GET' (it may have that value already).

• Click on the Apply button.


Creating a text field
Creating a text box

Now you'll enter the first element that generates a graphical object in the browser:

• Make sure the insertion point is inside the FORM element.

• Enter a P element and type:

Name:

•  Click on the [image] button, keeping the mouse button pressed down.

This displays a menu of form-related elements.

• Drag the mouse button over the INPUT element in the menu and release it.

You can now preview the file to see what this looks like in a browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

Notice that the browser has placed a text box  next to the word `Name:'.

You're not done with this INPUT element yet.

• Move the insertion point   inside the INPUT element.

• Choose the Edit SGML Attributes... command from the Markup menu, or type F6   at the keyboard.

This brings up a dialog box that lets you edit the attributes of the current element.

• In the text box  for the attribute NAME, type:

cust-name

This value is used when the browser sends the form's data to the server, in order to identify which text box,   drop-down list,  etc., a particular piece of data came from.

– Another attribute, SIZE, is used if you want to specify the text box's  length in characters.

– If you enter some text for the VALUE attribute, this text will be displayed in the  text box  by default.

HoTMetaL will display important attributes (name, type, value) of form elements in a prefix, just after the start-tag.


Entering several lines of text

A text box  in a form lets you enter just one line of text. If you need to let your users enter several lines of text at once (to enter an address, for example), you should use the TEXTAREA element.

• Insert a new P element and type:

Address:

• Click on the [image]  button  to get the menu of elements, and choose TEXTAREA.

• Choose the Edit SGML Attributes... command from the Markup menu, or type F6   at the keyboard.

• Enter the following values for three of this element's attributes:

– NAME: cust_addr

– ROWS: 5

– COLS: 40

ROWS and COLS specify the dimensions of the widget: 5 lines deep and 40 characters wide.

• Click on the Apply button.

If you want a TEXTAREA to contain some default text, enter it between the start- and end-tags.

Now you may want to see how the browser renders this object:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

The browser generates a multi-line field, which may also have scroll bars.


Presenting a list of choices

Sometimes you will want the user to make one choice from a list of choices. In this example you'll see how to represent this with a drop-down list.

• Insert a new P element, and type:

Credit Card:

• Click on the [image]  button to get the menu of elements.

•  Insert a SELECT element.

HoTMetaL also inserts an OPTION element automatically.

•  Put the insertion point directly after the SELECT start-tag.

• Choose the Edit SGML Attributes... command from the Markup menu, or type F6   at the keyboard.

• Enter `card-name' for the NAME attribute, and `1' for the SIZE attribute.

• Click on the Apply button.

• Move the insertion point inside the OPTION element, and type:

Visa

The OPTION element represents one choice in the  drop-down list.  The text that you typed inside the element is a label that will appear in the menu.

• Move the insertion point to the right of the OPTION end-tag.

• Click on the [image]  button  to get the menu of elements.

•  Insert an OPTION element.

• Inside the OPTION element, type:

MasterCard

• Move the insertion point to the right of the second OPTION end-tag.

Because OPTION was the last element you inserted with the  [image]   button, single-clicking quickly on that button  will insert another OPTION element.

•  Single-click on the [image]   button.

• Inside the OPTION element, type:

Amex

To see what this looks like in the browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

• In the browser, click on the drop-down list.

Notice that the text you typed inside each of the OPTION elements appears as labels in the  drop-down list.

When the form is submitted, the `value' associated with this list,   which the browser sends to the server, will be the label of the item that was chosen. You can override this by setting values for the VALUE attributes of the OPTION elements.

– If you wanted, you could have represented this list of choices as a scrollable list rather than a drop-down list. To do this, you would set the SIZE attribute of SELECT to 2 or greater; this value specifies how many list items are shown at a time.

– If you want to be able to choose more than one item from this kind of list, set the MULTIPLE attribute to `MULTIPLE'.

Just to complete this section of the form:

• Insert a new P element after the last one, and type:

Card number

• Insert an INPUT element.

• Choose Edit SGML Attributes... from the Markup menu, or type F6   at the keyboard.

• Set the NAME attribute to `card-num'.

• Click on the Apply button.


Check boxes

So far you have used the INPUT element only to represent text boxes.  Actually, this element can be used for a variety of purposes. One of these is representing  check boxes:  you would create this kind of box if you wanted the user to make a `yes/no' choice. (These are different from radio buttons (Radio buttons), which you would use if you want the user to make one choice from a group of choices.)

• Insert a new P element after the last one, and type:

Check one or more titles:

• Insert a new P element after the last one, and type:

The Dentistry of Frederic Chopin

• Insert an INPUT element.

•  Choose Edit SGML Attributes... from the Markup menu, or type F6   at the keyboard.

• Set the TYPE attribute to `CHECKBOX'. (This attribute value tells the browser to display a  check box.)

• Set the NAME attribute to `chopin'.

• Click on the Apply button.

Now add two more titles in the same way:

• Insert a new P element after the last one, and type:

Motors and Such by Eddy Schneider

• Insert an INPUT element.

• Set the TYPE attribute to `CHECKBOX' and the NAME attribute to `motors'.

• Insert a new P element after the last one, and type:

HTML for Travellers

• Insert an INPUT element.

• Set the TYPE attribute to `CHECKBOX' and the NAME attribute to `html'.

To see what this looks like in the browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

Try clicking on the buttons with the mouse. You can turn on all, any, or none of the buttons.

– If you set the CHECKED attribute of any of the INPUT elements to `CHECKED', the corresponding  check box   will be turned on by default when the form is displayed in a browser. (You can have more than one   box   turned on by default.)

– When the form is submitted, the default value associated with turned-on  check boxes   is the word `on' (turned-off  check boxes   are not submitted to the server). If you want to override this default, supply values for the VALUE attributes of the INPUT elements.


Radio buttons

As we said above, you can also use the INPUTelement to represent radio buttons. A group of radio buttons lets the user make one (and only one) choice from a group of choices.

• Insert a new paragraph after the last one and type:

Preferred language:

• Insert a new paragraph after the last one.

• Insert an INPUT element.

•  Choose Edit SGML Attributes... from the Markup menu, or type F6   at the keyboard.

• Set the following attribute values:

– NAME: language

– VALUE: english

– TYPE: RADIO

– CHECKED: CHECKED

• Move the insertion point to the right of the INPUT end-tag and type:

English

Now add two more choices in the same way (keep all three choices in the same paragraph):

• Insert an INPUT element.

• Set the following attribute values:

– NAME: language

– VALUE: french

– TYPE: RADIO

• Move the insertion point to the right of the INPUT end-tag and type:

French

• Insert an INPUT element.

• Set the following attribute values:

– NAME: language

– VALUE: spanish

– TYPE: RADIO

• Move the insertion point to the right of the INPUT end-tag and type:

Spanish

Notice the following about the attribute values you've just entered:

– Each TYPE attribute is set to `RADIO'. This tells the browser to display a radio button.

– Each NAME attribute has the same value, in this case, `language'. This puts all three radio buttons in the same group, which means that the browser will allow only one of these three to be checked at once. If the form contains another group of radio buttons, the NAME attributes for all of its members must be identical, but they can't be the same as the name you used for the radio buttons you just created.

– The value of the VALUE attribute is sent to the server if the corresponding button is turned on when you submit the form, thus telling the server which button in this group was turned on.

– The first INPUT element in this group has the CHECKED attribute set to `CHECKED'. This tells the browser that this button should be turned on by default when the form is first displayed.

To see what this looks like in the browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

Try clicking on the buttons with the mouse. You can turn on only one of the radio buttons at a time. The button labeled `English' is initially turned on by default.


Reset

You can use the INPUT element to generate a button that restores all the form's controls (text boxes,  radio buttons, etc.) to their default values:

• Insert a new P element after the last one.

• Insert an INPUT element.

•  Choose Edit SGML Attributes... from the Markup menu, or type F6   at the keyboard.

• Set the following attribute values:

– TYPE: RESET

– VALUE: `Reset defaults'

To see what this looks like in the browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

• Enter some data in the form.

• Click on the Reset defaults button in the form.

The form's controls revert to their default values. The text boxes   are all blank and the check boxes are turned off. The radio button labeled `English' is turned on.


Submitting the form

Your form is almost complete. All you need to do is create a button that causes the browser to submit the form.

• Next to the INPUT element for the reset button, insert another INPUT element.

•  Choose Edit SGML Attributes... from the Markup menu, or type F6   at the keyboard.

• Set the following attribute values:

– TYPE: SUBMIT

– VALUE: `Submit order'

To see what this looks like in the browser:

• Save the file.

• Choose Preview... from the File menu, or type Ctrl-M   at the keyboard.

• Enter some data in the form. (Don't enter a real credit card number.)

• Click on the Submit order button in the form.

The form will now be submitted to a program on SoftQuad's web server. This program doesn't actually process an order, it just echoes back the information that the browser sent it. This information will appear in the browser window: you can return to the form by clicking on the button that takes you to the previous document.

The information is presented in pairs containing a `name' (corresponding to the NAME attribute of the  text box,  check box, etc.) and a `value' (for text boxes  or `text areas', this will be the data you typed in; for check boxes the value `on' is submitted—check boxes that aren't turned on are ignored; for radio buttons the value of the VALUE attribute is sent). You may notice a couple of unusual things about the format of the text: spaces are replaced by a `+' sign, and some special characters (notably newline, `=', and `&') are replaced by `%nn', where the n's are digits from 0-9 and/or letters between `A' and `F'. This is the standard form that browsers use for submitting data to the server.


HTML quick reference

The authoritative source of information on the structure of HTML documents is the IETF HTML 2.0 specification. This document should be available at the following URL:

http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html

The HTML rules used by HoTMetaL also contain some elements and attributes from the HTML 3.0 specification, as well as some elements and attributes that are supported by the Netscape browser.

This section provides a short summary of the HTML 2.0 elements and the supported extensions. The rules governing the HTML format are quite flexible, and furthermore HoTMetaL will guide you through the document structure: therefore, the approach followed here will not be to enumerate all the possible combinations of elements. Rather, an overview of the structure will be presented, together with a discussion of the different groups of elements:

– Head elements

– Block elements

– Character formatting

– List elements

– Link elements

– Forms

– `Code' elements

– Netscape and HTML 3.0 extensions

Overview

Block formatting

Character formatting

List elements

Link elements

Forms

`Code' elements

Netscape and HTML 3.0 extensions


Overview

– An element called HTML surrounds the whole document.

– This element contains two sub-elements, HEAD and BODY. These elements are required.

– HEAD has sub-elements that define header material:

– TITLE: document title. This element is required.

– BASE: can be used to record the document's URL. The URL recorded here may be used to resolve a `relative URL' (necessary if the document is not accessed in its original location).

– ISINDEX: indicates to the browser that the document is an index document. This is used only if the document is on a server that does indexing.

– LINK: indicates a relationship between this document and some other object on the Web.

– META: gives information that appears in HTTP headers.

– Inside the BODY element, heading elements (H1 through H6) are used to delimit major divisions of the document (headings are not mandatory, however). Headings are permitted to appear in any order, but you will obtain the best results when your documents are displayed in a browser if you follow these guidelines:

– H1 should be used as the highest level of heading, H2 as the next highest, and so forth.

– You should not skip heading levels: e.g., an H3 should not appear after an H1, unless there is an H2 between them.


Block formatting

The major divisions of a document body's structure comprise the following elements:

– ADDRESS: if you want to include the address of the author of the document, enter it inside this element.

–  BLOCKQUOTE: used for quotes from another source, requiring special block-style formatting.

– DL, DIR, MENU, OL, UL: list elements (see List elements, on List elements).

–  P: paragraphs.

– PRE: pre-formatted text. Use this element when you want the browser to use the same line breaks and spacing that you entered. The text will be formatted by a browser using a fixed-width `typewriter' font.


Character formatting

The following elements are used primarily to add emphasis to inline text:

– B: bold.

– CITE: represents a document citation.

– EM: browsers usually represent this element in italic.

– I: italic.

– STRONG: browsers usually represent this element in bold.

– TT: characters inside this element are formatted with a `teletype' font (a fixed-width typewriter font, such as Courier).

Line breaks

Horizontal lines


Line breaks

If you want to force a browser to break the current line in the text, insert a BR element (you can do this by clicking on the [image] toolbar  button). You can't type inside this element: it just causes a line break.


Horizontal lines

To cause the browser to print a horizontal line (rule) in your document, insert an HR element (you can do this by clicking on the [image]   toolbar button). Individual browsers may print lines of different widths and lengths.


List elements

HTML supplies five list elements. With the exception of DL, list elements are composed of one or more LI (list item) elements.

You can nest lists by inserting a UL, OL, etc., inside a list item (LI).

– OL: ordered list. Items in this list are numbered automatically by the browser. The numbering will reflect nesting levels.

– UL: unordered list. Items in this list start with a list mark such as a bullet. Browsers will usually change the list mark in nested lists.

– DIR: directory list. This is an unordered list. Each LI element in this kind of list should be no longer than 24 characters.

– MENU: menu list. This is an unordered list. Each LI element in this kind of list should be no longer than one line.

– DL: list of definitions. This is an unordered list. This kind of list is different from the others. Each `item' in a DL consists of one or more terms (DT elements), followed by definitions (DD elements).

Each list type also has a `compact' version, which will be displayed with less whitespace in a browser.

You can choose a menu lists, directory lists, and all compact lists from the  [image]  (`Other lists')toolbar button.


Link elements

It is normal for HTML documents to contain links to other documents, which can be located anywhere on the Web. These links are provided by URLs (Uniform Resource Locators), which give the location and filename of a document, and the method used to access it.

The following elements represent links to other documents:

– A: anchor. The HREF attribute of this element represents a URL. If this attribute has a value, the content of the element will be highlighted when the document is displayed in a browser window, and clicking on this content will cause the browser to attempt to open the file specified by the URL.

– IMG: image. This element represents a graphic image. It is typically used for inline images—you should be aware that some browsers may not be able to display such images. (In this case, the text, if there is any, given in the ALT attribute may be shown.) The SRC attribute represents a URL.

Links to a specific location

`Hot images'

Images with hot spots


Links to a specific location

This topic is covered in an example in the tutorial section.

In general, you can set up a `source' and `target' anchor pair by setting the NAME attribute of the target anchor to `string' and setting the URL of the source anchor to `#string'. This sets up a one-way link. You can set up a two-way link by editing the two anchors so that each one's NAME attribute corresponds to the other's URL. See the section Links to a specific location (Pointing to a specific location) in the URLs chapter for more information.


`Hot images'

A `hot image' is used like an anchor—when you click on the image, the browser performs an action.

This is very easy to accomplish: you just need to insert an IMG element inside an A element. Both elements will have a URL: the IMG's URL locates the image, and the A's URL locates the file that is retrieved when you click on the image.


Images with hot spots

Sometimes you will see images that have several `hot spots' that you can click on and cause URLs to be accessed. This is done using a image map file, which tells the browser where the hot spots are. To prepare such a file, you'll need other tools besides HoTMetaL; see the section Image maps (Image maps) in the Working with images chapter for more information. You can also retrieve the document `Overview on using Clickable Image Maps' by opening the file faq.htm,   located in the HoTMetaL installation directory,  with a browser and clicking on the appropriate anchor.


Forms

The following elements are used to construct forms that the user can fill in and submit over the Web. When your document is browsed, the browser will generate the appropriate graphical objects.

– FORM: the top-level element for a form. It surrounds all of the other form elements.

– INPUT: generates a   text box, push button, radio button, or  check box.

– SELECT: represents a group of choices that a user can make. Generates a drop-down list  or scrollable list.

– OPTION: one choice in a SELECT group.

– TEXTAREA: generates a field that allows the user to enter several lines of text.

For more information on forms, see the tutorial on forms (Forms). You can also retrieve the document `Information on setting up form functionality' by opening the file  faq.htm, located in the HoTMetaL installation folder, with a browser and clicking on the appropriate anchor.


`Code' elements

The elements in this section would normally be used in technical manuals or papers.

– CODE: code samples.

– KBD: used to display text that a user would enter at the keyboard. (Do not confuse this with INPUT, used in forms.)

–  SAMP: literal characters.

– VAR: represents a variable name.


Netscape and HTML 3.0 extensions

HoTMetaL lets you use the Netscape extensions to HTML 2.0 (for example, the FONT element) and some HTML 3.0 elements. These are available from the markup commands (Insert Element... and Change..., Edit SGML Attributes...) or from the  [image]   (`Extensions to HTML 2.0') toolbar button.

It is important to realize that these extensions are non-standard, are not supported by all browsers (many are supported only by Netscape), and could change at any time. You should also consult the Netscape extensions documentation (see the Netscape home page, http://www.mcom.com) and the HTML 3.0 documentation (see the W3O home page, http://www.w3.org).

The following list describes some common extensions (at the time of this writing). Any attributes that are described should be edited with the Edit SGML Attributes... command. That is, put the insertion point inside the element in question and then choose this command—see also Attributes for more information on attributes.

– Background color: this is controlled by the BGCOLOR attribute of the BODY element. The value of this attribute must be a color in hexadecimal red-green-blue format, e.g., `#ad65b7'.

– Background image: this is controlled by the BACKGROUND  attribute of the BODY element. The value of this attribute must be a filename that specifies the image; this filename can be expressed as a complete URL if necessary. Note that you can't use Edit URL... to edit this attribute.

– Text and link colors: the TEXT, LINK, ALINK, and VLINK attributes of BODY control the colors of text, links, active links (links currently being clicked on), and visited links (links that have already been clicked on), respectively. The values must be colors in hexadecimal red-green-blue format.

– Blinking text: surround text with the BLINK element to cause it to blink on and off in the browser.

– Centered text: surround text with the CENTER element to cause it to be centered in the browser. Some elements also have an ALIGN attribute that can be set to the value `CENTER'. This will work in some browsers that don't support the CENTER element.

– Preventing line breaks: surrounding text with the NOBR element prevent the browser from inserting line breaks. This element should be used only with short pieces of text (i.e., a few words).

– Changing the font size: you can change the font size for a piece of text by surrounding it with the FONT element and then setting its SIZE attribute to the desired font (point) size. SIZE can also have a relative (+/-) value that causes the browser to add or subtract the specified value from the current font size.

– Image alignment: Netscape has added a number of possible values for the ALIGN attribute of the IMG element. Only the standard HTML 2.0 values `Bottom', `Middle', and `Top' are available via the Edit Image dialog box. Use Edit SGML Attributes... if you want to choose another value.

– Paragraph alignment: this feature is available via the ALIGN attribute of the P element.

– The META element: if you wish to specify a URL for this element, you can do so by editing the URL attribute with Edit SGML Attributes....

HTML tables are also supported: see the chapter Tables (Tables).


Working with files

This chapter discusses the HoTMetaL commands for creating, opening, closing, and saving files, previewing the current document with a browser, and checking document correctness.

Creating a new file

Opening a file

Using templates

Saving files

Previewing your file in a browser

Closing a file

Exiting from HoTMetaL


Creating a new file

Choose New... from the File menu (or click on the [image] toolbar  button) to create a new file. HoTMetaL will open the `default template' file chosen with the Preferences... command.


Opening a file

Choose Open... from the File menu (or click on the [image] toolbar  button) to open an existing file. The default file extension in the Open dialog box is .htm.  When you open a file, HoTMetaL converts the `raw HTML' into a graphical format in which the tags are replaced by tag icons, and HoTMetaL's graphical editing features are available. You cannot open a file that's already open.

The names of the last four files that you opened with HoTMetaL are added to the File menu. You can open a file (or make it the current file, if it's already open) by choosing it from this menu.

Error checking


Error checking

If an HTML file contains markup errors, HoTMetaL will try to rearrange the markup so that the file can be opened and displayed in graphical format. In these situations HoTMetaL will usually succeed in creating a valid file, although you may have to adjust some of the markup manually. If HoTMetaL cannot turn on rules checking (see Rules checking), it will give a warning message informing you of the problem, and the insertion point will move to the location of the error.

In some cases rules checking can be turned on but the file will not validate (see Checking the markup). This normally means that some element is missing a required sub-element: for example, an OL might not have any LI elements in it. HoTMetaL does not inform you automatically if the file will not validate: you can check if the file validates by choosing Validate Document from the Special menu.

If the HTML errors are so serious that the file cannot be opened in graphical format (for example, if the file contains a non-HTML element), HoTMetaL will open it as a text file. This gives you the opportunity to correct the errors manually. Although the graphical editing features of HoTMetaL are not available if you're editing a text file, you can still use Validate Document to locate errors. When you've corrected the errors, choose Interpret Document from the Special menu.This performs the equivalent of Open... on the text document.


Using templates

Templates are pre-defined structures for documents. They are used as forms or document outlines that you can enter text into without necessarily having to insert any of the markup yourself.

Opening a template

Creating your own templates


Opening a template

To open a template, click on the Open Template... command. This brings up a   file selection dialog box labeled Open Template, which displays the files and directories  in the template directory. The file aareadme.htm in this directory gives you an index of templates. Each file corresponds to a template: to open a template, just select it from this dialog box as you would any other file. The document name in the document window's title bar will be in the form Document1,   Document2,  and so forth.

When the template file is opened you can enter text or elements into it, and later save the file.


Creating your own templates

A number of templates are shipped with HoTMetaL, but you can work with templates that were created at your own site.

To create a template file with HoTMetaL, you should just create a file as you normally would and save it in the template directory.


Saving files

The Save command (or the [image] toolbar  button) saves the current file (that is, the file that is open in the  active document window) to the disk. Files are always saved in HTML format.

HoTMetaL saves a `document type declaration' (DOCTYPE) at the top of the file.

If you have rules checking turned on, the file will be validated when you save it, and you will be warned if there are errors and asked if you still want to save. If you do, the saved file will be invalid and HoTMetaL may have trouble opening it in the future.

To save the file under a new name, choose Save As... from the File menu.

Save options


Save options

Using the Preferences...command in the Special menu, you can specify that HoTMetaL should:

– Make a backup file when it saves the current file (the backup consists of the previously saved version of the file).

– Save the current file automatically after a specified number of minutes.

– Save the current file automatically after a specified number changes have been made.

– Warn you each time it saves a file automatically.

– Add line breaks.

See the section Preferences (Setting preferences) in the Getting started chapter for more information.


Previewing your file in a browser

If you want to see what your document will look like in a web browser, choose Preview... in the File menu.

• If you have never chosen a browser (such as Mosaic or Netscape) for previewing, you will get a file chooser dialog box in which to locate and choose one. Once one or more browsers have been chosen, you'll get a dialog box containing a list of browsers.

• Select a browser and click on Preview (or just double-click on the browser). This will launch the browser, displaying your document.

If your document hasn't been saved, you will be given the choice of saving it and previewing, saving it as a temporary file and previewing, or cancelling the operation.

If you want to add a browser to the list:

• Click on the Add... button.

• Use the file chooser dialog box to navigate to the location of a browser and select it.

To delete a browser from the list:

• Select it in the list.

• Click on the Delete button.

Previewing a document with this command is the same as saving the file with HoTMetaL, launching the browser independently of HoTMetaL, and then opening the file with the browser.


Closing a file

The Close command in the File menu closes the current file. If the file has had changes made to it since it was last saved, you will be prompted to save the changes before closing it.


Exiting from HoTMetaL

The Exit command in the File quits HoTMetaL. If any open files have been changed since the last time they were saved, you will be prompted to save them before exiting.


Marking up documents

HoTMetaL essentially lets you do two things: edit the content and edit the markup. The content is just the text of the document. In an electronic document, markup is special codes inside the document that indicate how parts of the file should be processed. For example, a file created with a word-processor or desktop publisher contains markup indicating typographical features such as the font and font size. In an HTML file, which is what HoTMetaL creates, the markup consists of elements. Elements usually consist of a start-tag at the beginning of a section of the text, and an end-tag at the end of that section of text. Marking up a file in HTML mostly means surrounding the text with the appropriate elements. (In addition, there are a few elements that have special functions, such as specifying the location of an image.)

Styles or structure?

HTML rules

Checking the markup

Using the

Inserting an element

Changing the element type

Splitting an element

Joining elements

Removing tags

Attributes

HTML comments


Styles or structure?

You can think of the elements in an HTML file in (at least) two different ways: you can think of them as formatting styles, or as structural elements. Since a document published on the Web will be formatted differently by each browser or other application that reads it, you may prefer to think of the elements as standing for parts of the document's structure—heading, paragraph, list item—without thinking explicitly about how they're formatted. On the other hand, if you are experienced in word-processing or desktop publishing, you may find it more useful to think of the elements as styles.

HoTMetaL supports both approaches to HTML markup. The commands in the Markup menu are oriented toward thinking of elements as structural objects; the buttons in the toolbars treat the elements like styles. This doesn't mean that you should stick to one or the other set of tools: it's better to understand both and use the one best suited to the task at hand. We'll explain more about this below.


HTML rules

The elements in HTML documents must be arranged according to certain rules: otherwise, the document is considered invalid. When you are using HoTMetaL, you don't have to keep track of these rules yourself—HoTMetaL does it for you. One of HoTMetaL's most important features is automatic rules checking, which ensures that you do not violate the required structure as you are creating a document. As well, when you open or save a document, HoTMetaL checks that the markup is correct and complete.

Many HTML browsers have permitted a very loose, unstructured document format. However, this provides no guarantee that documents will be formatted the way you want when they are displayed on the Web. For this reason, and because there is an emerging trend toward browsers that expect a stricter document structure, we believe that you will find it to your advantage to create all your new HTML documents with HoTMetaL's default rules in force. It will also be worthwhile to modify existing documents to conform to these rules.

The document-structuring rules built in to HoTMetaL are designed to be flexible while at the same time maintaining a useful document structure. If an existing `legacy' document does not conform to these rules, HoTMetaL's Open... command will attempt to open it anyway, adjusting the markup so that it conforms as closely as possible to the HTML rules. If there are serious errors, the document is opened as a text document and can be edited `by hand'. Once the errors are fixed, you can use the Interpret Documentcommand to do the equivalent of Open... on the text file.


Checking the markup

One of HoTMetaL's most important features is that it can prevent you from creating invalid HTML markup: rules checking prevents markup errors as you're editing, and validation ensures that the markup is correct and complete.

Rules checking

Validation


Rules checking

The Turn Rules Checking On/Off command in the Special menu toggles the state of rules checking in HoTMetaL. The current rules checking state is displayed in the lower right corner of the HoTMetaL window.

Normally you should work with rules checking turned on. When rules checking is on, HoTMetaL ensures that the document being edited will be correctly marked up—only elements that are allowed at a particular point can be inserted. While this checking is not complete, it will nevertheless catch and prevent most markup errors.

There are occasions when rules checking can get in the way of the job at hand. Most commonly this happens when the operation that you are performing involves two or more steps, and one of those intermediate steps will leave the document temporarily incorrectly marked up. For this reason, leave rules checking off only as long as you need to.

You should not turn rules checking off whenever HoTMetaL prevents you from inserting something. The HTML rules are flexible enough that you can generally achieve the effect you want without violating the rules. For example, a list cannot be inserted inside a paragraph, but you can split the paragraph into two paragraphs and insert the list between them. If you create a document with rules checking turned off, you may have a problem opening it again with HoTMetaL, and furthermore a browser may not display the file as you had intended.

HoTMetaL prevents markup errors in a number of ways.

– The commands that could cause errors are disabled. For example, the Insert Element... command in the Markup menu will be grayed-out if there is no element that could be inserted at the insertion point.

– A restricted list of elements is presented. For example, the Insert Element... command will display a list containing only those elements that will leave the document correctly tagged after the insertion.

– You are given an opportunity to cancel a command before any damage is done. For example, if a Paste operation would leave the document incorrectly tagged, HoTMetaL will display a warning dialog giving you the choice of canceling the paste or completing the command after first turning rules checking off.

When the rules are not being checked, the commands that were previously disabled will usually become enabled; for the exceptions, see the documentation on the individual commands. This means that you will be able to create an incorrectly tagged document, and therefore you should leave the rules off only as long as you need to.

When you choose Turn Rules Checking On from the menu, the menu item changes to Turn Rules Checking Off to indicate that this state can be toggled. When you turn rules checking back on, HoTMetaL will quickly scan your document to make sure it is correctly tagged. If it isn't, HoTMetaL will present a warning describing the problem, and the insertion point   will move to the location of the error. Rules checking will remain off. Select Turn Rules Checking On again after the problem has been corrected.


Validation

Choose Validate Document in the Special menu to verify that the markup in a document is correct and complete.

If the validation process finds an error in the document, you will be notified of the error and the insertion point   will move to the place where the error occurred.

The purpose of the Validate Document command is to catch and report any markup errors not found by the rules checking. It will check that:

– All required elements are present. For example, if the document contains an OL (ordered list) element that doesn't contain at least one LI (list item) element, validation will detect this.

– All required attributes are present. For example, an IMG element must have a value for the attribute SRC (this represents the URL for the image, and is filled in automatically if you choose an image when you create the IMG element).

If your document contains Netscape or HTML 3.0 elements or attributes, this will not prevent the document from validating, but HoTMetaL will inform you that the document contains non-HTML 2.0 features. Click on More... if you want more information.

If your document contains a selection, the menu item will read Validate Selection. In this case, only the selection will be validated.


Using the
Using the toolbars to create markup

HoTMetaL has two toolbars for creating elements. The `Common HTML' toolbar contains buttons for creating the most common HTML elements. This toolbar is the middle one in the default screen configuration. The `Other HTML' toolbar (the bottom one in the default configuration) has buttons for the less commonly used HTML elements.

Most of the buttons in these toolbars represent a single element: to create an element, just click on the button. There are also six buttons that represent a group of related elements. These are wider than the others and consist of an icon with a downward-pointing arrow at the right. Clicking on one of these buttons while keeping the mouse button down will bring up a menu of elements that you can choose from. A single, quick click on one of these buttons will cause its default element to be created. The default is the element that was most recently chosen from the menu, or the first element in the menu if this button hasn't been used yet in this HoTMetaL session.

Depending on the context, HoTMetaL will do one of the following when you try to create an element from the toolbar:

– Insert the chosen element at the insertion point.

– Insert the chosen element after the current element.

– Surround the selection with the chosen element.

– Change the current element to the chosen element.

– Split the current element.

– Nothing, if any action the button could perform would leave the document incorrectly marked up.

If there is no valid action that a button can perform at the current location in the document, HoTMetaL will beep if you click on the button.

HoTMetaL uses the following guidelines when determining which action to take; the first valid action from this list is the one that's carried out.

1. If the document contains a selection (highlighted text and/or elements), and the HTML rules will allow the chosen element to surround the selection, then the selection can be surrounded. For example, if there is a selection inside a P element, and you try to create an EM element, the EM will surround the selection.

2. If there is no selection, and the HTML rules will allow the chosen element to be inserted, then the element can be inserted at the current insertion point. For example, if the current element is P and you try to create an EM element, the EM will be inserted.

3. If the current element and the chosen element are of the same type, and it is not valid to nest one inside the other, the current element can be split into two elements at the start of the selection or insertion point; everything before the start of the selection (or insertion point) will be in the first element, and everything after it will be in the second element. For example, suppose you have a P element containing the text `hello world', with the insertion point between the two words: if you try to create another P, you will get two paragraphs, the first containing `hello', and the second containing `world'. However, if the current element is A or IMG, clicking on the [image] or [image] button, respectively, is the equivalent of choosing the Edit URL... command.

4. If it is valid to replace the current element with the chosen element, the replacement can be carried out. For example, if the current element is H2 and you try to create an H1, the current element will change to H1.

5. If the insertion point is directly before the end-tag of the current element, and it is valid to insert the chosen element after the current element, but not inside it, the insertion can be performed. For example, if you have a P element with some text in it, with the insertion point just before the P tag, and you click on the [image] button, HoTMetaL will insert a BLOCKQUOTE element after the P.

The differences between using the toolbar buttons to create markup and using the commands from the Markup menu are that these commands:

– Perform more restricted functions (insert/surround with Insert Element..., change with Change Tags...).

– Provide a list only of the elements that can be validly inserted or replace the current element.


Inserting an element

You can insert an element from the toolbar or by using the Insert Element... command in the Markup menu.

Each of these methods has a dual function: if the document contains a selection (highlighted text or elements) the element you choose will surround the selection; if there is no selection, an empty element will be inserted.

There are also some situations in which HoTMetaL will insert an element automatically (see Automatic insertion).

From the

From the menu

Automatic insertion


From the
From the toolbar

To insert an element using the toolbar, just place the insertion point or selection in the desired location in the document and click on that element's toolbar button. The element will be inserted (surrounding the selection if there is one) unless this would cause the document to be incorrectly marked up. In that situation, HoTMetaL will change or split the current element, as appropriate, or beep to indicate that no valid action can be carried out. If rules checking is turned off, the insertion will succeed except when you try to surround something with an element (such as IMG) that can never have content.


From the menu

When you choose the Insert Element... command, click on the [image]  toolbar button, or type  Ctrl-I,    you get the Insert Element dialog box, which contains a list of the elements permitted by the HTML rules at the location of the insertion point (or selection) in the document. The the first element (if there is one) required by the HTML rules at this point in the document will be followed in the list by the `<' character.

You will probably find this dialog box more convenient to use if you pin it to the screen by clicking on the button in the upper left corner of the dialog and choosing Pin from the menu that appears. A pinned dialog box will stay up on the screen after you perform an action. You can move the dialog to a convenient location on the screen so that it doesn't cover part of the document window.

To select an element, click once on the line containing the element name, or type the first character of the element name repeatedly until the correct element is selected. Then click once on the Insert Element button to insert it. Alternatively, you can double-click on the line that contains the element name. Since this dialog box displays only the elements that can validly be inserted, the insertion will always take place.

Insert Element... will be disabled and the menu item grayed-out if there are no elements that can be inserted at the insertion point or current selection without creating an incorrectly marked up document. Often the command will become enabled if rules checking is turned off, but there are some elements in which you will never be allowed to insert an element.


Automatic insertion

There are some circumstances where HoTMetaL will insert an element for you because the HTML rules require it.

– If you insert an element, such as UL, that has a required sub-element (in this case, LI), HoTMetaL will insert the required sub-element inside the element you chose.

– If you type inside an element that cannot contain text directly, but has a possible sub-element that can contain text, HoTMetaL will, in some circumstances, surround what you've typed with that element. For example, if you type directly inside a BODY element, HoTMetaL will surround the text with a P. If you type directly inside a UL or OL, HoTMetaL will surround the text with an LI element.

– Similarly, if you try to insert an element where it's not permitted, HoTMetaL will, if possible, surround it with an element that can validly appear at the current location. For example, if you try to insert an EM directly inside BODY, HoTMetaL will surround it with a P.

– If you try to type in an element that cannot have any content, HoTMetaL will, in some circumstances, try to surround what you've typed with an element located after the element you typed in. For example, if you type in an IMG that is located directly inside a BODY, HoTMetaL will insert a P after the IMG, containing the text you typed. (If the IMG is already inside an element that can contain text, HoTMetaL will just move the insertion point after the IMG end-tag, and insert the text there.)


Changing the element type

You can change the element type from the toolbar or by using the Change... command in the Markup menu.

From the

From the menu


From the
From the toolbar

To change an element using the toolbar, place the insertion point or selection in the element you want to change (the element must be the current element,the innermost element containing the insertion point or selection; the name of the current element is displayed to the left of the horizontal scroll bar at the bottom of the document window).   Then click on the toolbar button for the element you want to change it to. Remember that when you use the toolbar, HoTMetaL will first try to insert the element you click on, and it will change the current element type only if the insertion would be invalid. For example, if the current element is P and you click on the toolbar  button for EM, HoTMetaL will insert an EM, but if you click on the [image] (address) button , the P will change to ADDRESS.

If rules checking is turned off, clicking on a toolbar button will almost always cause HoTMetaL to perform an insertion, rather than a change. The exception is when the current element is one that cannot have any content (for example, IMG).


From the menu

When you choose the Change... command   (or type Ctrl-L), HoTMetaL gives you a dialog box containing a list of elements that can replace the current element and still leave the document correctly marked up.

You will probably find this dialog box more convenient to use if you pin it to the screen by clicking on the button in the upper left corner of the dialog and choosing Pin from the menu that appears. A pinned dialog box will stay up on the screen after you perform an action. You can move the dialog to a convenient location on the screen so that it doesn't cover part of the document window.

To select an element, click once on the line containing the element name, or type the first character of the element name repeatedly until the correct element is selected. Then click once on the Change button to insert it. Alternatively, you can double-click on the line that contains the element name. Since this dialog box displays only the elements that can validly substitute for the current element, the change operation will always take place.

The command will be disabled and the menu item grayed-out if there are no elements that can replace the current element without creating an incorrectly marked up document. Often the command will become enabled if rules checking is turned off, but if the current element has any content you cannot change it to an element that can never have content.


Splitting an element

Splitting an element literally means breaking it into two elements at the current insertion point   or selection. This creates two elements of the same type as the current element, one containing all of the content before the beginning of the insertion point or selection and the other containing the remaining content.

If the insertion point is directly before an end-tag (for example, when you are typing at the end of a paragraph) then splitting creates a new, empty element with the same type as the current element. In fact, the most common use for splitting is to start a new paragraph.

Typing Return or Enter inside most elements will cause them to be split. The exceptions are elements for which you've set the fill mode (see Fill) to `no fill' with the Styles...command—line endings are significant for these elements (e.g., PRE).

You can also split an element by choosing the Split Element command in the Markup menu, or by typing Ctrl-P.   This will split the element regardless of its fill mode.

If rules checking is turned on, you can't split an element if this would cause the document to be invalid (for example, you cannot split the HEAD element). You can split any element if rules checking is turned off.

When you split an element that has attributes, both of the resulting elements will adopt the attributes of the original element.


Joining elements

HoTMetaL lets you join the current element and the preceding element, provided they are of the same type—two paragraphs, for example, or two list items.

– Backspacing over the start-tag of the second element will join the two elements.

– If you choose Join to Preceding from the Markup menu (or type  Ctrl-J   at the keyboard) HoTMetaL will join the two elements.

You cannot join two elements if there is any text other than `white space' (spaces, tabs or carriage returns) between the two them. (Any white space between the elements will be condensed to a single blank space if the join operation succeeds.)

If the elements have attributes, then the attributes of the first element will be adopted for the new, combined element.


Removing tags

Choosing Remove Tags from the Markup menu, clicking on the [image] toolbar button, or typing Ctrl-D    at the keyboard deletes the start- and end-tags of the current element without affecting its contents.

The command will be disabled if deleting the tags will leave the document incorrectly marked up. However, it will always be enabled if rules checking is turned off.

If an element has no content, backspacing over its start- or end-tag will delete the element.


Attributes

Elements can have content (text and sub-elements contained in the element) and attributes. An attribute is a piece of information about the element that does not appear in the content of the element. The most common uses for attributes are:

– HTML forms (Forms)

– Setting the browser background (Netscape and HTML 3.0 extensions)

– Setting the browser text colors (Netscape and HTML 3.0 extensions)

– Setting the alignment of various elements (Netscape and HTML 3.0 extensions )

Editing attributes


Editing attributes

If the current element has one or more attributes, then the Edit SGML Attributes... command in the Markup menu will be enabled (whether or not the attributes have been given values). To use this command:

• Put the insertion point inside the element whose attributes you want to edit (you must make this element the current element, the one whose name is displayed to the left of the horizontal scrollbar in the document window; you can ensure this by putting the insertion point directly to the right of the element's start-tag).

• Choose Edit SGML Attributes...

The Edit Attributes dialog box lets you see what the attribute values are and also edit them. If you pin this dialog box you can move the insertion point into another element of the same type and the dialog will stay up on the screen, but if you move it to an element of a different type, the dialog box will be dismissed.

The dialog box contains a line for each attribute of the current element. Each line starts with the attribute name, followed by either a text box or a pop-up menu,   depending on what kind of value the HTML rules say the attribute must have. The attribute value may be text or a choice from a list of values. This means that the dialog box will be different for each kind of element.

The list of attributes for the INPUT element shows both possibilities:

TYPE, CHECKED, and ALIGN are chosen from a list, while the values for the other attributes are typed directly in the corresponding text entry boxes.

• When you have entered the desired attribute values, click on the Apply button.

There are some attributes that you should not edit with this command. In particular:

– Attributes that represent URLs (e.g., in IMG and A elements) should be edited with the Edit URL... command.

– Attributes in table cells should not be edited with Edit SGML Attributes.... When you set table properties with the tables commands, the attributes will be set automatically.


HTML comments

You can insert HTML comments in your document by choosing the Insert Comment command in the Markup  menu, typing  Ctrl-' (the Ctrl key and an apostrophe), or clicking on the [image] toolbar button. Comments, which can contain only text, are notes that are visible when you display the document in HoTMetaL but are not displayed by browsers.

Because of the way comments are represented in HTML, you should not put two hyphens in a row, `--', inside a comment. This could cause the markup to be invalid.


URLs

URLs are one of the most important features of HTML, because they allow HTML documents to function as hypertext documents. A URL is the address of a file (and possibly a specific location in that file), written in a format that a Web server understands, and which a browser can use to access the file over the Web. An example of a URL is:

http://www.sq.com/doc/tutorial.htm

Most of HoTMetaL's commands for working with URLs are in the Links menu.

Where URLs appear

Two kinds of URLs

Creating URLs with HoTMetaL

Using the URL hotlist

Pointing to a specific location

Syntax of URLs

Relative URLs

The `mailto' scheme

Displaying URLs

Moving your files to the Web


Where URLs appear

URLs are contained in certain designated `link' elements. They are attributes of the element, which means that they are values that are associated with the element, but which are not part of the content of the element (that is, text or sub-elements). Each attribute has a name and a value. (These are actually stored inside the start-tag of an element in an HTML file—you can see this if you use a text editor to open the file).

The elements that contain URLs are:

– A: this element is used whenever you want to make a hypertext link to another document, or to a specific location in another document or the current document. Since this element occurs so often there is a special command, Insert Anchor... in the Links menu, for inserting it.

– IMG: this element is used to include a graphic file in an HTML document.

– FORM: this element's URL specifies a program on a Web server that the form should be sent to for processing. See the tutorial on forms (Forms) for more information.

– BASE: you use this element if you need to record the current document's URL within the document itself. See the section Relative URLs (Relative URLs) for more information.

– INPUT: this element is used to represent various types of graphical controls in a form. One of your options is to use this element to display an image, which can be clicked on to submit the form.

– LINK: this element can contain URLs that indicate a relationship between the current document and other documents.

If the mouse pointer is over one of these elements, its URL is displayed in the message area in the lower left corner of the HoTMetaL window.


Two kinds of URLs

URLs can be divided into two groups: completeURLs and relative URLs. A complete URL contains the following parts:

– A scheme (e.g., http, ftp, gopher) that specifies how the browser should retrieve the file.

– A server address (e.g., www.sq.com) that specifies which server the file is located on.

–  Optionally, the server address can have a port number attached to it:

www.sq.com:8888

A port number is required if the web server is not running on the default port (that is, 80). This normally occurs only if the site has more than one server running on it.

– A path, a sequence of directories (folders), terminating with a filename. This specifies the file to be retrieved.

Consider the example at the beginning of this section:

http://www.sq.com/doc/tutorial.htm

Here the scheme is `http', the server address is `www.sq.com', and the path part of the URL is `doc/tutorial.htm'.

The path/filename is often omitted in the URL of a site's home page. The server will return the file `index.html' by default. For example, `http://www.sq.com/' is the URL for SoftQuad's home page.

A relative URL (Relative URLs) will be missing some of this information, and a browser will have to obtain the missing information from the URL of the document that contains the relative URL.


Creating URLs with HoTMetaL

HoTMetaL makes it easy to create and edit URLs, by way of the Edit URL... command in the Links menu.

To use this command you should:

• Put the insertion point inside the element whose URL you wish to edit.

• Choose Edit URL....

If the current element is A, clicking on the [image] toolbar button is equivalent to choosing the Edit URL... command; similarly, clicking on the [image] toolbar button when the current element is IMG invokes this command.

Edit URL... is disabled if the current element is not one of the ones that can contain a URL. The Edit URL dialog box comes up by default when you insert an A element (except when you insert it with the Name Target... command—see Name Target...).

URLs for images

The `Edit URL' dialog box

Filename format

How HoTMetaL constructs the URL


URLs for images

Choosing Edit URL... when the current element is IMG results in slightly different behavior than with other link elements. The first dialog box you see lets you enter information used only for images. If you click on the Edit... button in this dialog box, you will get a dialog that is identical to the Edit URL dialog, with one exception, noted below. See the chapter Working with images (Working with images) for more information.


The `Edit URL' dialog box

 The Edit URL dialog box contains the following controls for creating a URL:

–  A drop-down list labeled Scheme, containing a list of schemes for URLs. The scheme describes how the information contained in the URL is to be used by a browser. Some common schemes are:

– file: indicates a file on a local filesystem.

– ftp: indicates an address on an ftp server.

– gopher: indicates an address on a gopher server.

– http: indicates an address on a WWW server.

– mailto: indicates that the URL specifies a mail address (see The `mailto' scheme).

You can also enter a scheme in the text box   to the right of the   drop-down list.

– The Host  text box is for entering a server address, such as a WWW or ftp server, or the `domain name' in a mail address.

– The Port text box is for entering a port number.

– The Path text box  is for entering the filename (and often a path), or a user name in a mail address.

– The Choose File... button to the left of the Path text box   will bring up a  file selection dialog box. This dialog box can be used instead of the Path  text box when the path component of the URL is a file on your system.

– There is a drop-down list   that lets you choose between Name and Query. If you want the URL to be a link to a specific location, choose Name and enter the name of the location in this text box.   Do not enter the `#' character that separates the location name from the rest of the URL: HoTMetaL will insert it for you when it creates the URL. (You can also use the Name Target.../Connect Link command pair to set up a link to a specific location. See the section Pointing to a specific location on Pointing to a specific location for more information.) Query is used if you want to specify a query for a searching program.

The dialog box used to edit the URL of of an image (IMG) element does not have the `Name/Query' control group.


Filename format

The URL syntax requires that directory names in the filename part of the URL be separated by slashes, `/'. This is different from the Windows and DOS convention, which uses backslashes, `\'. If you use HoTMetaL's Edit URL... command to create the URL, you can enter the filename using either of the two conventions, and HoTMetaL will, if necessary, convert it to the standard URL format.

Similarly a drive name such as `c:' in the filename should contain a vertical bar, `|', instead of a colon, e.g., `c|'. This is because the colon is a special character in a URL and can appear only once, after the scheme. You can enter either a colon or a vertical bar, and HoTMetaL will convert if necessary.

Here is an example of both of these points. If you enter the filename:

c:\luise\madness\gravity.htm

HoTMetaL will convert this to:

c|/luise/madness/gravity.htm


How HoTMetaL constructs the URL

HoTMetaL creates a URL with the correct syntax from the information you've entered. Suppose you have entered the following:

– Scheme: http

– Host: www.sq.com

– Path: orwell\homage.htm

– Name: catalunya

From this information, HoTMetaL constructs this URL:

http://www.sq.com/orwell/homage.htm#catalunya

Notice that HoTMetaL inserts the `/' between the host and the path. Since this scheme specifies that the path starts with a slash, you don't have to type it yourself. In fact, in this case, if you do start the name with a slash, HoTMetaL will ignore it. The `\' in the path has been changed to a `/', as the URL syntax requires. HoTMetaL also inserted the `#' before `catalunya'.

Certain characters will be converted into an `escape sequence' if they are entered into the Edit URL dialog box. In particular, a tilde (~) will be changed to `%7E', a number sign (#) to `%23', and a space to `%20'. These forms are equivalent to the characters they replace and are interpreted correctly by all browsers.


Using the URL hotlist

HoTMetaL lets you maintain a hotlist of frequently used URLs. When you need to insert one of these URLs, you can just pick it from the list instead of having to enter the information over again.

To add the URL you're currently editing to the hotlist:

• Enter the scheme, host, path, and name or query as needed.

• Click on the Add to Hotlist... button in the Edit URL dialog box.

You'll then see a dialog box that displays the URL and lets you enter a description. This description is how the URL will be displayed in the hotlist dialog box.

• Enter the description. If you leave the description blank, the URL itself will be used as the description.

• Click on the Ok button.

To pick a URL from the hotlist:

• Click on the Hotlist... button in the Edit URL dialog box.

A dialog box will appear, displaying the description of each URL in the hotlist.

• Double-click on the URL you want. Alternatively, you can select a URL and click on the Ok button.

To delete a URL from the hotlist:

• Click on the Hotlist... button in the Edit URL dialog box.

• Select the URL that you want to remove.

• Click on the Delete from Hotlist button.

To append a Mosaic hotlist or Netscape bookmarks file to the HoTMetaL hotlist:

• Click on the Hotlist... button in the Edit URL dialog box.

• Click on the Append Hotlist... button in the dialog box that appears.

• Choose the hotlist or bookmark file file that you want to append.

• Click on the Ok button.


Pointing to a specific location

Creating a URL that points to a specific location in a document is very easy. Here is an example:

http://www.sq.com/authors/orwell/homage.html#madrid

The characters `#madrid' at the end of this URL point to a specific location in the document that the URL refers to. For this link to work:

– The document homage.html must contain an anchor (`A' element) at the location you want to point to.

– The anchor must have the name `madrid'. The next section explains how to assign an anchor name.

– If possible, this element should contain some text, as otherwise some browsers will not be able to locate it.

Creating `source' and `target' links in HoTMetaL


Creating `source' and `target' links in HoTMetaL

The quickest way to create the links is to use the Name Target...and Connect Linkcommands in the Links menu (or the equivalent toolbar buttons).

• Put the insertion point or selection at the desired location of the target link.

• Click on the [image] (name target) toolbar button.

HoTMetaL gives you a dialog box in which to enter a name for the target link (`madrid' in the example above). If there is a selection when you click on the toolbar button, the first word in the selection will appear in the dialog box by default, but you can enter something else if you want. Link names typically consist of one word, but you can enter more.

• Enter a name of your choice and click on the Ok button.

HoTMetaL inserts an A element, surrounding the selection if there is one. (This element's NAME attribute will be set to the value you entered.)

• Put the insertion point or selection at the desired location of the `source' link. This can be in the same document, or another document.

• Click on the [image] (connect link)toolbar button.

HoTMetaL inserts an A element, surrounding the selection if there is one. This element's URL will point to the target link. Since the `path' part of this URL will refer to the local directory  containing the document with the target link, you'll have to modify the URL before putting the document on the Web. See the section Moving your files to the web on Moving your files to the Web for more information.

You can perform other actions in between creating the two links, but HoTMetaL will remember only the most recent target link that you created with Name Target... (or the equivalent toolbar button).

If it's not convenient to use Connect Link (perhaps you want to enter all the target or source links first) you can use Insert Anchor... or the equivalent toolbar button to create the source links. In this way you can create the links in any order. To create a source link:

• Put the insertion point or selection at the desired location of the source link.

• Click on the [image] toolbar button.

HoTMetaL inserts an A element and brings up the Edit URL dialog box.

• Enter the scheme, host, and path in the usual way.

• Choose Name from the drop-down list  underneath the Path label (this should be the default).

• Enter the name of the target link in the text box   to the right of Name.

• Click on Ok.

Use Name Target... in the usual way to create the target links.


Syntax of URLs

The information in URLs has to be arranged in a way that the browsers and servers can understand it—in other words, it has to conform to the correct URL syntax.

Since the Edit URL... command helps you create URLs, you don't usually have to remember the details of the syntax: we've included this information here anyway because we believe that it will help you create URLs if you know what's really going on when you make a URL.

There are actually several URL formats, but fortunately most of the ones you'll have to use fall into two groups.

Files on a Web server

Files on your


Files on a Web server

When you create a link to another HTML document or to an image, you'll usually be specifying a file on a Web server. In this case, the parts must be arranged in the following order:

1. The scheme, which will be http.

2. The characters `://'.

3. The server address, e.g., www.sq.com.

4. The `/' character.

5. The path/filename.

The URL syntax requires that directory names in the path part of the URL be separated by slashes. This is different from the Windows and DOS convention, which uses backslashes, `\'. If you use HoTMetaL's Edit URL... command to create the URL, you can enter the path using either of the two conventions, and HoTMetaL will, if necessary, convert it to the standard URL format.

If you're creating this kind of URL with the Edit URL... command, choose the `http' scheme. Then you just need to enter the server address and path/filename: HoTMetaL will construct the URL for you.


Files on your
Files on your  hard disk

If a URL specifies a file on your local  hard disk,  rather than a file on a Web server, you would write the URL a little differently. You can refer to a file on your local disk only while you're developing and testing your document. When the document is published on the Web, it should refer only to other files available over the Web.

1. The scheme for this kind of URL is file. This scheme is optional, however.

2. If you do use the file scheme, follow it with the characters `:///'.

3. Now you need to specify the drive name: instead of using the normal Windows format, e.g., `c:', replace the `:' with a vertical bar, e.g., `c|'.

4. Lastly, specify the path/filename. As described above, the standard URL format requires that you use the `/' in the path, but you can use `\' if you're entering the URL with HoTMetaL's Edit URL... command.

An example of this kind of URL is:

file:///c|/shirley/orwell/homage.htm

See the section Moving your files to the Web (Moving your files to the Web) for information on how to convert `local' URLs to URLs for the Web.

If you're creating this kind of URL with the Edit URL... command, choose the `file' scheme. Then you just need to enter the path/filename. Notice that you don't need a server address, since your local disk is assumed to be the `server'.


Relative URLs

Relative URLs (also called partial URLs) do not contain the complete information required for a browser to locate the file they refer to. For example, the scheme or network address could be missing.

Reasons to use a relative URL

Base URLs

Interpreting relative URLs

Creating relative URLs with HoTMetaL


Reasons to use a relative URL

Some of the advantages of using relative URLs over complete URLs are:

– Less typing is required to enter them.

– If you move all the files to a different location but keep the same  directory structure you don't have to revise the URLs.

– The same file referred to by a relative URL can be accessed by different schemes (for example both `http' and `ftp').


Base URLs

The browser has to figure out the missing information, based on the URL of the document that contains the relative URL (this is called the `base URL'). The browser has to construct a complete URL by combining the the relative URL with the relevant information from the base URL.

The base URL can come from one of two sources.

1. If the current document contains a BASE element, then the URL specified in this element is used as the base URL for all relative URLs in the document. You should put a BASE element in your document if it contains relative URLs and you expect users to download the document to their local systems and browse it later.

2. If there is no BASE element, the URL that the browser used to retrieve the current document will be the base URL.


Interpreting relative URLs

The following guidelines are slightly simplified and don't represent everything that can be said about interpreting relative URLs, but they cover the most frequently encountered cases. Remember that the process being described here is being done `internally' by the browser when it's interpreting the relative URL: the browser doesn't actually modify the URLs in your document.

1. Relative URLs can start with one of the following:

– A double-slash: `//'.

– A single slash: `/'.

– A file or directory name.

2. If the relative URL starts with `//', then the only thing missing is the scheme (http, etc.). In this case the scheme is inherited from the base URL to make a complete URL.

3. If the relative URL starts with a single slash, then the scheme and the server address are missing. Both of these will be inherited from the base URL to make a complete URL. For example:

/orwell/face.gif

A file with this URL will be retrieved with the same scheme and from the same server as the document that contains the URL.

4. If the relative URL starts with a directory  or filename, then the procedure that a browser will use to make a complete URL is to remove the filename from the base URL and then append the relative URL to it. For example, suppose the relative URL is:

orwell/homage.htm

and the base URL is:

http://www.sq.com/authors/contents.htm

The browser removes the filename from the base URL to get:

http://www.sq.com/authors/

Now the browser appends the relative URL to this to get the complete URL:

http://www.sq.com/authors/orwell/homage.htm

5. A couple of special characters can occur in relative URLs:

– A relative URL can start with the characters `..'. This means `go up one directory level'.

– The character `.' at the start of a relative URL means `the current directory'.

If the complete URL that you get by combining the base and relative URL contains the characters `/../', e.g.,

http://www.sq.com/authors/../orwell/homage.htm

then the browser interprets this by removing the directory that precedes those characters from the URL. The resulting URL from the last example would be:

http://www.sq.com/orwell/homage.htm

The directory `authors' has been removed.

If the URL contains the characters `/./' then the browser will simply remove `./' from the resulting URL.

These characters aren't interpreted as special characters unless they occur as the only thing between two slashes (`/../' or `/./'). For example, the sequence `/tom../' just refers to a directory called `tom..'.


Creating relative URLs with HoTMetaL

If you're creating a relative URL with HoTMetaL's Edit URL.. command, leave the Scheme  text box   blank, and enter the required information in the Path text box.


The `mailto' scheme

The mailto scheme is used:

– As the `action' for a form that is to be e-mailed to a specified address.

– In an anchor, which can be clicked on in a browser to generate a mail-editing dialog box.

Inside an A or FORM element, as appropriate:

• Choose the Edit URL... command.

• In the Edit URL dialog box, choose the `mailto' scheme.

• Enter the user name in the Path text box.

• Enter the domain name in the Host text box.

The resulting URL contains the `mailto' scheme, followed a mail address, such as `charles@windsor.org'.

In a form, there is one more thing you have to do in order to use mailto:

• Choose Edit SGML Attributes... from the Markup menu.

• Set the METHOD attribute to the value `POST'.

Some browsers do not support mailto. Also, in order for this feature to work if your system is behind a firewall, you may need to configure your browser to use the correct proxy server.


Displaying URLs

By default, HoTMetaL displays the URLs associated with relevant elements in the prefix of the element's start-tag. If you want to hide the URLs, choose Hide URLs from the View menu: the URLs will disappear from the display, and the menu item will toggle to Show URLs. Clicking on Show URLs will cause the URLs to be displayed again.

When the mouse cursor is over an element containing a URL, the URL is displayed in the message area in the lower left corner of the HoTMetaL window.


Moving your files to the Web

Before a completed HTML document is moved to a WWW server, all URLs should refer to documents that are available on some WWW server. (While the document is being created, they may refer to documents on your local system.)

For example, when you are creating a document the URLs may consist of local filenames such as:

file:///c|/rodney/orwell/homage.htm

When the document is placed on your server, you must substitute URLs that refer to documents that are available on your server or some other server. For example:

http://www.sq.com/orwell/homage.htm

The Publish... command gives you the opportunity to edit all the URLs, modifying them if necessary. This command is a form of `find and replace' for URLs.

When you choose Publish... you will get a dialog box containing two  text boxes.

The first box (labeled Change URLs From) contains a part of the URL that you want to change; the second box (labeled To) contains the text that you want to change it to. You can enter text in these boxes to replace the default text.

If there were a large number of URLs for which you needed to change a local directory such as  file:///c|/rodney  to a server address, such as http://www.sq.com, you could enter:

file:///c|/rodney

 in the Change URLs From  text box, and:

http://www.sq.com

in the To text box.

Finding and replacing URLs


Finding and replacing URLs

When you click on the Find Next button, HoTMetaL finds the next element that has a URL matching the Change URLs From text. The insertion point is placed inside that element, and the document scrolls to its location. The search starts at the insertion point or selection.

Clicking on the Replace button will change the text you're searching for to the text in the To box.

Clicking on the Replace All button will make this change for all URLs in the document that contain the Change URLs From text. This also causes the dialog box to be dismissed.

This form of `find and replace' matches only starting at the first character of the URL.


Word-processing features

This chapter covers the word-processing features of HoTMetaL: undoing and redoing actions and cutting, copying, pasting, and deleting a selection.

Undoing and redoing actions

Selecting, copying, cutting, and pasting


Undoing and redoing actions

The Undo command in the Edit menu allows the effect of the last operation to be undone.

Typing text, and any command that changes the content of the document, can be undone.Note the following actions that cannot be undone:

– Scrolling and windowing commands

– Text selection

– Undo itself (it can be undone with Redo)

– Any actions performed prior to the last time the document was saved cannot be undone.

If you execute several Undo commands in a row you will undo the most recent action, and then undo the second most recent action, and so forth. You can undo the last 30 actions.

To reverse an Undo, you must use Redo. If you have performed several Undos, you can reverse each of them by performing an equal number of Redos. If you perform one or more Undos, and then perform an undoable action, you will no longer be able to redo any of the Undos.

If you undo a Copy or Cut command, the previous contents of the clipboard will be restored.


Selecting, copying, cutting, and pasting

One of the advantages of HoTMetaL over text-based HTML editors is that you can easily select and move around parts of the document structure without having to worry about making the markup invalid. It is easy to select a whole element (and its sub-elements, if any): you just have to drag the mouse over the start-tag (from the left) or the end-tag (from the right) and the element is selected.

The Cut, Copy, Paste, and Delete commands work as they normally do in word-processing applications. The only exception to this is that in HoTMetaL, a selection can contain elements. For this reason there will be circumstances where removing or pasting a selection would cause the document to be incorrectly marked up.

If you try to do a paste that would cause the markup to become invalid, you will get a warning dialog box that gives you the opportunity to turn rules checking off if you want to continue with the paste. There are some circumstances in which you will never be able to do a paste, such as when the insertion point is inside an IMG element, which cannot contain text or markup.

Cut and Delete will be disabled if you select one of the elements HTML, HEAD, or BODY.

If you choose Select Element,the current element, including its start- and end-tags, will become highlighted.


Working with images

Images are represented in HTML documents by IMG elements. These elements have no content, just a URL pointing to the image file. The most common image format on the Web is the GIFformat; all Web browsers, with the exception of line-mode browsers, can display images in this format inline, in the document window. Other formats are normally displayed by launching external applications. HoTMetaL follows the same approach.

This chapter also gives information on creating clickable image maps.

Inserting images

Displaying inline images

Displaying images with an external viewer

Image maps


Inserting images

To insert an image:

• Click on the   [image] toolbar button.

(Since the IMG element can't have any content, you won't be able to insert it if the document contains a selection.)

HoTMetaL displays the Edit Image dialog box when you insert the image.

The Image File  text box  in this dialog box is for entering the URL for the image. This information is required. You can type the URL directly into the text box   if you want, or click on the Edit... button. This will give you a dialog box that is almost identical to the Edit URL dialog box (see The `Edit URL' dialog box). The only difference is that it doesn't have the `Name/Query' control group, as this information does not apply to images.

• Enter the URL in the usual way. If you're not familiar with URLs, you should see the URLs chapter (URLs).

The Alternate Text text box   is for entering some text that will be displayed if the document is being read with a line-mode browser, which can't display images. Even though this information is not required, it is good HTML style to include it for the benefit of users without graphical browsers.

The default alignment for images is `bottom', meaning that the bottom of the image will be on the baseline of the adjacent text. Setting the alignment to `middle' or `top' will move the baseline of the text accordingly.

If you intend for this image to be used as a clickable image map (see Image maps), turn on the ISMAP check box.


Displaying inline images

If the URL of an IMG element refers to a GIFfile on your local system, HoTMetaL will normally display it in place in your document.

You can use the Preferences... command to choose whether such images should be displayed in place or not. This choice will then apply by default to all HoTMetaL documents. You can override the Preferences... setting for individual documents using Show/Hide Inline Images in the View menu. If you don't want images to be displayed in the document, choose Hide Inline Images. The command will then toggle to Show Inline Images: if you choose this command, HoTMetaL will resume displaying inline images.


Displaying images with an external viewer

To launch an external viewer to display a graphic referred to by an IMG element:

• Put the insertion point inside the element.

• Choose the Show Image... command in the View menu.

 If you have never chosen a viewer for showing graphics, you will get a file chooser dialog box in which to locate and choose one. Once one or more viewers have been chosen, you'll get a dialog box containing a list of viewers.

• Select a viewer and click on View (or just double-click on the viewer). This will launch the viewer, displaying your image.

If you want to add a viewer to the list:

• Click on the Add... button.

• Use the file chooser dialog box to navigate to the location of a viewer and select it.

To delete a viewer from the list:

• Select it in the list.

• Click on the Delete button.

Show Image can be used only for viewing files that are on disks on your PC. Unlike a browser, HoTMetaL does not follow URLs to retrieve files on remote servers.

Using this mechanism, you can display files of any type for which you have a graphics viewer.


Image maps

Image maps (or clickable image maps) are images, usually in GIF format, that have been divided into regions; clicking in a region in a browser causes an action to occur. Usually the action involves the server retrieving a file, which the browser displays.

There are several types of Web server available, and they don't all deal with image maps in exactly the same way. For this reason, the instructions given here may not work for your server. The following discussion is based on the Unix NCSA httpd server; with the exception of the instructions in the section Informing the server, the instructions here should apply to all servers. You should consult your server's documentation or a knowledgeable person if you're unsure whether something applies to your situation.

Creating image map files

Informing the server

`Anchoring' the image map file to your image

Testing your image map


Creating image map files

An image map file is a file that tells the server what to do when someone clicks in an image map. In this file you put the coordinates of the regions in the image that you want to map, and the URLs that you want the server to access for each region.

Format

Here is a sample of an image map file (the URLs in this example don't refer to real files, so please don't try to use them!):

default http://www.sq.com/heads/missed.html

circle http://www.sq.com/heads/righteye.html 10,25 10,30

rect http://www.sq.com/heads/mouth.html 10,15 20,10

poly http://www.sq.com/heads/nose.html 15,20 20,25 25,20

Notice the following about the sample file:

1. The first line, starting with the word `default', specifies the action that should take place if someone clicks in a part of the image map that isn't mapped to anything. This URL should refer to a file that tells the user to try again.

2. The other lines each specify the type of region that's being mapped, then the URL that's accessed when you click on the region, and lastly the coordinates of the region.

3. You can define three kinds of regions in an image map:

– a circle: the coordinates of a circle consist of the coordinates of the center point of the circle (in this example `10,25') and the coordinates of any one point on the boundary of the circle (here it's `10,30').

– a rectangle (rect): the coordinates of a rectangle consist of the coordinates of upper left corner of the rectangle (in this example `10,15') and the coordinates of lower right corner of the rectangle (here it's `20,10').

– a polygon (poly): a polygon is any enclosed figure consisting of straight lines (you can't specify an oval shape, for example, unless you approximate it with straight lines). A polygon may have a regular shape (such as a hexagon) or be completely irregular (for example, the outline of a face). The coordinates of a polygon consist of the coordinates of each vertex (corner) of the polygon.

All coordinates are measured in pixels. The origin—the point (0,0)—is at the upper left corner of the image. x values (the first number in the coordinate pair) increase as you go to the right, and y values (the second number) increase as you go down.

Creating the file

The most time-consuming part of preparing an image map is figuring out the coordinates of the different regions. There are two kinds of programs you can use to do this:

– The most convenient tool is one that knows about the image map file format. Such a program will let you indicate graphically the regions you want to map, and will generate an image map file for you (probably without the URLs—you'll have to add these yourself).

– A graphics viewer that displays the coordinates (in pixels) when you click on a point in the image. In this case you'll have to record each coordinate pair individually. (The program LView PRO can be used for this purpose. Just click in the image and hold down the mouse button: the coordinates will be displayed in the title bar.)

If two or more entries in the image map file happen to include the same part of the image, then the first such entry in the image map file is the one that the server uses to determine what action to take.


Informing the server

Once you've created the image map file, you need to tell the server where it is. If you're using the Unix NCSA httpd server, you would do this by making an entry in the file imagemap.conf in the conf directory on the server. (You'll have to find out from a local administrator where the server directory is located.) If you're using a different server, the filenames given in this section may not be correct: you should consult the server documentation or talk to an administrator.

The imagemap.conf file consists of entries that associate a symbolic name with every image map file known to your server. One line describes each map. You can choose whatever symbolic name you wish to use. In this example, the symbolic name is brundlefly, and the image map file is in /home/rodney/public_html/heads.map. You should put the following line in the imagemap.conf file:

brundlefly:	/home/rodney/public_html/heads.map

If someone else is administering the server, you may not be able to update this file yourself. You'll still have to choose a symbolic name for your image map file, because this name is used in the next step.


`Anchoring' the image map file to your image

The final thing you have to do is use HoTMetaL to add the markup (an A element) that associates the image map file with the GIF image that you want to display.

In order to understand what's going on here you have to know that there is a program called imagemap on the server, which reads your image map file whenever someone clicks on the image. The browser sends the program the coordinates of the point that was clicked on. The imagemap program determines which region in the image was clicked on, and on the basis of this, tells the server which URL to access.

You use a URL to associate the image map file with your image. This URL tells the server two things:

– The location (server address and directory) of the program imagemap.

– The symbolic name for your image map file.

A typical location for the imagemap program is the cgi-bin directory on the server. In this case, the URL (in an A element) would look something like this:

http://www.sq.com/cgi-bin/imagemap/brundlefly

(Here `brundlefly' may look like a filename, but it's actually the symbolic name of the image map file).

After you insert the A element, you should do the following:

• Set the URL of the A element to a value such as the one in the example.

• Insert an IMG element inside the A.

• Set the URL of the IMG to point to the location of the GIF image.

• Turn ISMAP on. This tells the server that the image that this element points to is an image map.


Testing your image map

To see if what you did worked:

• Choose Preview... from the File menu.

• In the browser, click in each of the regions you defined to make sure that the `right thing' happens.


Styles

HoTMetaL provides screen-formatting capabilities that help you edit documents by allowing you to assign distinctive styles to the elements in your document. The purpose of these formatting features is only to improve the appearance of the document during the editing process. The styles that you set with HoTMetaL do not affect how browsers format the document. Only the markup affects how a document looks in a browser.

All screen-formatting is set using the Styles... command in the View menu.

Because HTML files are structured documents, setting a style for an element means setting it for all elements of that type.

The following styles can be set:

– Font properties: font, font size, font style.

– Paragraph styles: alignment, line height, and fill mode.  (Fill mode determines how Return and Enter are treated—in fill mode, they cause the element to be split, but in no fill mode they cause a line break.)

– Space before and after: you can add space to the top and bottom of elements in order to set them off from surrounding elements.

– Indention: you can choose right, left, and first indents for elements. By choosing the right and left indent, you can set the line length for the element.

– Color: You can choose the foreground (text) and background colors for an element.

In addition, every element has aformat type: block or inline. Block elements start and end on a separate line from adjacent content. Inline elements are not set off from adjacent text. All of the styles listed above can be applied to block elements; only font properties and color can be applied to inline elements.

You can change the format assigned to an element in the document at any time. When you choose the Styles... command, HoTMetaL gives you a dialog box allowing you to set formatting parameters for the current element (the one the insertion point   or selection is in). If the insertion point is outside the HTML element that surrounds the entire document, the dialog box lets you set the default format. If you move the insertion point to a different element while the Styles dialog box is on the screen, the dialog box changes to reflect the formatting of the new element.

The Styles dialog box will look like the following illustration:

 The element name  (LI in this example)  is displayed in the dialog's title bar.

Numerical values

Font properties

Paragraph styles

Space above and below

Indention

Color

Invisible characters

Styles files


Numerical values

The Styles dialog box allows you to enter numerical values for font size, line height, space above and below, and indention. These may be set from a menu or entered directly in a text box.  As appropriate, these values may be absolute, relative (+/-), or expressed as a percentage of a base value. The following units may be used:

– centimeters

–  inches

– machine units (1/16 point)

– millimeters

– picas (1/6 inch)

– pixels (same as points)

– points (1/72 inch)

You can use any unit wherever you are allowed to enter values. For example, font size may be expressed in points, inches, picas, etc.

Units may be specified by giving the full unit name, or the first few letters of the unit name, as long as that is unambiguous (e.g., don't use `p' since that could mean `points' or `picas'). In addition, `cm' and `mm' specify centimeters and millimeters, respectively.

Examples

Relative and percentage settings


Examples

The following are examples of valid settings:

– 1 inches

– 1.45 i

– 2 mm

– 2 milli

– 3pix

– 6 points

– 2 po

– 2 pica

– 2pica

Notice that you don't have to have any space between the number and the unit.


Relative and percentage settings

Relative settings specify an amount to be added to or subtracted from a base setting: they have the same format as absolute settings, but start with a `+' or `-' sign. As well, you may set a value to be Adopt Current, which means that the value is to be inherited from the surrounding element. Some valid settings are:

– -2.67 inches

– +3 picas

– Adopt Current

– ac (same as Adopt Current)

– +0 (same as Adopt Current)

Percentage values are specified with a percent (%) sign, the word `percent', or a suitable abbreviation, e.g.:

– 100%

– 150 percent

– 243 per


Font properties

The font for the current element type is chosen from the  drop-down list labeled Name. If you want the current element to inherit the font of the element that surrounds it, choose Adopt Current.

Style variations (bold, italic, etc.) can be specified using the Style list (see Font style).

Font size

Font style


Font size

To select the font size, click on the Size  drop-down list  and choose any size (including Adopt Current) shown. You can also enter a size in the   text box to the left of the arrow. This size can be an absolute or relative value. If the size you chose is unavailable, HoTMetaL will choose the next smallest font size. Relative values (+2 points, -3 points, etc.) are added to the font size of the surrounding element.


Font style

The choices in the Style list allow you to add style variations to the font. These can be set individually or in any combination. To choose an option, just click on it. If an option is already chosen, you can choose additional options by pressing the Ctrl key while clicking on the options you want. To select a contiguous range of options, select the first option in the range, and then press the Shift key while clicking on the last option in the range.

Adopt Current means that the font style options of the containing element are adopted in addition to those explicitly set for this element type. If Adopt Current is the only option selected, then the font style for an element of this type will be identical to the font style of its containing element.

If you select the Toggle font style, the other style settings are turned off in the current element if they are turned on in the containing element. For example, an element whose font style is set to Bold and Toggle will appear as bold text within plain (Roman) surrounding text and as plain within bold surrounding text.

Remember that HoTMetaL and Web browsers may not support the same font styles.


Paragraph styles

These styles determine how lines are formatted and are available only for block elements.

Alignment

Fill

Line height


Alignment

HoTMetaL offers four styles of text alignment (also called justification)—left, right, centered, and `both' (that is, both left and right alignment). If you choose Adopt Current, the alignment style is inherited from the surrounding element. Choose the style you want from the drop-down list   labeled Alignment in the Styles dialog box.


Fill

This group of choices allows you to specify how HoTMetaL should treat `return' characters for the current element type. If you type Return or Enter in an element formatted in Fill mode, the element will be split. When No Fill is selected, the element will be split (see Splitting an element) when you type Return or Enter.

Browsers typically display elements (with the exception of PRE) in fill mode.

The Show Invisiblescommand in the View menu (see Invisible characters) will show you the location of `new line' characters.


Line height

You can select single, double, or triple spacing from the  drop-down list labeled Line Height. A value may also be entered directly in the   text box to the right of the arrow.

A percentage line height is interpreted as a percentage of single spacing. For example, 100 percent is the same as single spacing, 150 percent is 1.5 times as high as single spacing, and so on.

If you give a relative (+/-) value the line height will be equal to the single-spaced line height, plus or minus the amount specified.

An absolute line height should be at least as large as the point size: otherwise, the lines will overlap. A value of about 1.2 times the point size would be normal.

If you select Adopt Current for the line height, then the element you are formatting will assume the absolute line height of its surrounding element. This could give undesirable results if the line height of the surrounding element is smaller than the font size of the current element.


Space above and below

Space above and below control the vertical separation between elements. They are available only for block elements.

Space Abovedetermines the minimum amount of vertical white space that must precede the current element. If the element before this one has a Space Below value, the actual separation will be the greater of the space above the current element and the space below the preceding element.

Space Belowdetermines the minimum amount of vertical white space that must follow the element. The actual separation is the greater of the current element's bottom space and the next element's top space.

A space above or below can be specified as a percentage of one line height for the current element. For example, if you want 1 1/2 lines of white space between paragraphs, set the space above to 150%.

If you specify an absolute amount, it will be added to the normal line spacing.


Indention

The left indent is measured from the left margin of the document window; the right indent is measured from the right margin of the document window. The two indents effectively specify the line length for the element.

If you specify a relative (+/-) left or right indent it is added to or subtracted from the corresponding indent of the element that contains the current element. For example, a value of `+1 inches' for the left indent causes the indent to be one inch to the right of the left indent for the containing element. An indent of Adopt Current is equal to the corresponding indent of the containing element.

The first indent (indent for the first line) can be different from the indent for subsequent lines: this is often done for paragraphs. An absolute first indent will be measured from the left margin. A relative first indent will be added to or subtracted from the left indent for the current element. A first indent of Adopt Current is identical to the left indent.


Color

For each element type, you can choose a foreground color and a background color. The foreground color is the color of the text.

To choose the colors for an element, click on the Colors... button in the Styles dialog box.

HoTMetaL displays a dialog box containing two scrollable lists from which colors can be chosen, one for the background, one for the foreground.

These lists contain the colors that are currently loaded into HoTMetaL. In addition, the lists contain entries Adopt Current, Default Background, and Default Foreground. To choose a color, click on the color in the list or type it in the text box directly. Then click on the Apply button.

If you choose Adopt Current, the color of the surrounding element will be adopted for the current element. Note that if you choose Adopt Current for either the foreground or background color, then the other one will revert to Adopt Current also. You can, however, use Default Background or Default Foreground in conjunction with another color choice.

Adding colors


Adding colors

All of the available colors have an entry in the color map file, which is the file rgb.txt in the HoTMetaL directory. This file associates each color name with three numbers that specify the mixture of primary colors that makes up the color. The entries in the color map file are in the form:

213 144 5 shoreslop

 The three values range between 0 and 256 and indicate the red, green, and blue values, respectively. The values are dependent on the video card installed for your display. The sample entry above will cause the name `shoreslop' to appear in the foreground and background lists in the Colors dialog box.

To make more colors available to HoTMetaL, edit the color map file with a text editor and add entries like the one in the example above. Two applications you can use to determine the red-green-blue values for a color are:

– PC Paintbrush (choose its Edit Colors... command).

– The Custom Color Selector, available through the Color control panel.


Invisible characters

Choose Show Invisibles in the View to see characters that would otherwise be invisible. A carriage return is represented by a `paragraph' symbol, a newline by a `sunburst' or `currency' symbol, a space by a raised dot, a tab by a hash (number) sign, `#', and a zero-width character by a tilde, `~'.

Choose Hide Invisibles to turn off the display of invisible characters.


Styles files

HoTMetaL stores the formatting information set with the Styles... command in a binary styles file called hm2.stl in the styles directory.  Whenever the a document is saved, this styles file is updated with whatever styles are in effect for the document.


Searching and replacing

The Find and Replace... command in the View menu allows text, elements, and patterns to be found and replaced.

When you choose this command you will see a dialog box, like the one illustrated below, that allows you to enter various values and options.

The search and replace operations represented by the buttons at the bottom of the dialog box generally work the way they do in other word-processing applications. Note the following, however:

– Text searches will not match if a part of the search string is found in a separate element. If you are searching for `Fred and Barney', but the word `and' is in a separate element (EM, for example), the search string will not be matched.

– A replacement will not be carried out if it will cause the document to be incorrectly marked up (and rules checking is on). If such a replacement is encountered in a `replace all' operation, it will be skipped over.

– Choosing the Undo command after a `replace all' will undo all of the replacements.

Choose Find Next to repeat a search using the most recent search string.

Specifying the search and replace strings

Search options

Searching for elements

Find In

Error messages

Using search patterns


Specifying the search and replace strings

The Find text box  allows you to specify a search string of text characters, elements, or patterns. If the document contains a selection when you choose Find and Replace... the selected text will automatically become the search string. If the selected text is longer than 255 characters, it will be truncated. If the selection contains an element it will be truncated at the last character before the start-tag icon.

The Replace text box  allows you to specify a replace stringconsisting of text characters, elements, or patterns with which you want to replace the search string.

The Find In text box  allows you to restrict your search to a particular element.

The Find, Replace, and Find In strings are described in more detail below.


Search options

There are five search options that you can set. You may want to search forward or backward through the file, match only whole words, match upper- and lower-case exactly, employ wrapping, or perform pattern searching. These options can be used in combination. You can turn Backwards Search on or off by clicking in the check box in the Find & Replace dialog box. The other options can be set by clicking on the Options... button and then clicking in the appropriate check boxes in the dialog box that appears.

–  Whole word search: turning on Whole Words means that the search will match a sequence of one or more whole words only. For example, if you search for `red' with Whole Words turned on, HoTMetaL will not find it in `Fred'.

–  Case sensitive search: when case sensitivity is turned on, HoTMetaL will look for the search string exactly as you've typed it—matching upper case to upper case and lower to lower. With case sensitivity off, the search will find any variation: a search string of `alice' would match `ALICE', `alice' and `AliCE'. This option applies to patterns as well as text.

–  Backwards search: indicates that you want the search to move from the insertion point   (or the start of the selection) back to the top of the file.

–  Wrapping: when Wrap is turned on, HoTMetaL will wrap around the top or bottom of the file, depending on whether you are doing a forward or backward search.

–  Find patterns: this option allows you to turn on or off HoTMetaL's ability to find patterns. If Find Patterns is turned off, any special search characters that you type in the find or replace strings will be treated as ordinary characters. See Using search patterns (Inserting a table) for more information on patterns.


Searching for elements

The search and replace strings can both be elements. An open angle bracket, `<', followed by a valid element name matches an element. The angle bracket must be the first thing on the line. If the search succeeds, the insertion point is positioned to the right of the start tag. The name in the search string can optionally be followed by a closing angle bracket (>).

For example,

<P

 matches the element P. Element names are not case sensitive in HoTMetaL, so `<p' and `<P' will match the same elements.

In a replacement, if the search string and the replace string are both elements, the element in the search string will be changed to the type specified in the replace string if the HTML rules allow it. The contents of the element will be unchanged.

If the search string matches text (as opposed to an element) and the replace string is an element, the element will be inserted after the found text if the replacement operation is carried out.

Searching for text within an element

Attributes


Searching for text within an element

The search string can contain both an element name and, following it, some text (or a pattern) that must be matched within the element. In this case the element name must end with a closing angle bracket. For example:

<P>the

 would match the word `the' anywhere within the element P. This is similar to the kind of restrictive searching that can be done using the Find In string but it can be used in conjunction with that feature to further restrict the search. In the last example, if the Find In string (see Find In) is set to:

<OL

 the word `the' would be matched if it appeared in a paragraph in an OL list but not if it appeared in a paragraph in another context.

An element name in the replace string cannot be followed by text: if it is, an error message will be displayed and the replace operation will not be performed.


Attributes

You can restrict the search to an element with specific attribute values. This is done in the search string by following the element name with a space-separated list consisting of attribute names followed by an equal sign, `=', followed by a value contained in double quotes (" "). For example:

<a name="donkey"

 will search only for those A elements whose NAME attribute has the value `donkey'.

You can specify replacement attribute values in the replace string. For example, you could use the following replace string in conjunction with the find string in the previous example:

<a name="burro"

Any attribute values that aren't specified in the replace string will remain unchanged.

Search patterns (Using search patterns ) can be used to specify attribute values. You can specify as many attributes as you wish, and in any order.


Find In

One of HoTMetaL's more powerful search features is its ability to restrict a search to the contents of a particular element type. For example, you could search for a word only when it appears in an EM element.

Use the Find In text box   to specify the element that you want to restrict searching to. Specify the element in the same way you would in the search string, except that the element name can't be followed by text. Attribute values may also be specified in the Find In string—you can use a Find In string such as:

<li label="Donkeys"


Error messages

If you have a badly-formed search or replace string, HoTMetaL will display an error message at the bottom of the Find & Replace dialog box. This message will consist of a description of the error and the character position in the string at which the error occurred. Errors that will be reported include: invalid attribute or element names; unmatched parentheses and brackets in search patterns; `?', `*', or `+' not preceded by any character; invalid character ranges.

For example, if you use the search pattern:

<QUAGMIRE

 you will get the error message:

In Find string: Invalid element name at position 2

 because the HTML rules do not allow an element called QUAGMIRE. This message also indicates that the error was detected at the second character in the search string.


Using search patterns

If the Find Patterns option is turned on (see Search options), the characters you type in the Find text box   are interpreted as patterns by HoTMetaL: that is, the search string can contain certain special search characters that allow the search string to match a class of strings. (If your search string does not contain any special search characters, HoTMetaL will search for exactly the text you have typed.) For example, the search character `.' (period) is used in the following pattern:

m...y

 This matches a sequence of five characters beginning with `m' and ending with `y', e.g., the words `money', `marry', `murky', etc.

The following characters are special search characters in a search pattern:

. * ? + ^ $ [ ]

In addition, the character `<' (used to specify an element search) is special when it appears as the first character of the pattern.

To search for any special character as an ordinary character when Find Patterns is turned on, precede it with a backslash. For example:

\.

 is used to match a period.

Search patterns may be enclosed within parentheses for grouping.

Matching a single character

Matching zero or more of something

Matching one or more of something

Matching zero or one of something

Either/or searches

Matching just after a tag

Matching just before a tag

Character ranges

Re-using the search string

Summary


Matching a single character

Any single character (other than a special character) matches itself in a search pattern. To match a single, arbitrary character, use a period or dot, `.'. This will also match a single blank space. Therefore:

fo.d

 would match `food', `ford', `fond', `fold', etc. Similarly,

s.o.

 matches `stop', `shot', `snow', etc.


Matching zero or more of something

A single character, or a string enclosed in parentheses, followed by an asterisk, `*', matches zero or more occurrences of that character or string. For example:

l*ama

 would match `ama', `lama', `llama', `lllama', etc.

b(an)*a

 would match `ba', `bana', `banana', and so on.

You can combine the `*' with `.' to match arbitrary strings of characters. So

s.*ch

 matches `search', `such', `stretch', `stopwatch', as well as `sch' and `skip lunch'. This search pattern represents strings that start with `s' followed by zero or more occurrences of an arbitrary single character (it doesn't have to be the same character over and over) followed by the characters `ch'. Since the period can match a blank space, this pattern can match a multi-word string.


Matching one or more of something

A single character, or a string enclosed in parentheses, followed by a plus sign, `+', matches one or more occurrences of that character or string. For example, the following expression matches `ben', `been', `beeen', and so forth, but not `bn'.

be+n


Matching zero or one of something

A single character, or a string enclosed in parentheses, followed by a question mark, `?', matches zero or one occurrences of that character or string. For example, to search for instances of both `color' and `colour', you would use:

colou?r


Either/or searches

If you want to search for either of two search patterns, separate them with a vertical bar, `|'. This will match any string that matches either of the patterns. For example, if you wanted to search for either `love' or `money', you would use the expression:

love|money

You can combine two search patterns:

s.*ch|fo.d


Matching just after a tag

A caret, `^', at the very beginning of a search pattern means that text will match the pattern only if it immediately follows a start- or end-tag. Such text must not be separated from the tag by white space. Anywhere else, the caret is not treated as a special search character (except in character ranges, see below). For example, if you wanted to search for the word `Note' immediately following a tag, you would use:

^Note


Matching just before a tag

A dollar sign, `$', at the very end of a search pattern means that text will match the pattern only if it is immediately followed by a tag. The text must not be separated from the tag by white space. Anywhere else, the dollar sign is not treated as a special search character. For example, if you wanted to search for the word `sub' immediately preceding a tag, you would use:

sub$


Character ranges

A pair of square brackets, `[' and `]', around any string of characters defines a range that matches any one of the characters between the brackets. The simplest case is of this type:

an[dy]

This matches `and' and `any'.

A range of characters of the form

[char1-char2]

 matches any character beginning at char1 and ending at char2. For example:

[e-p]

 matches any lowercase letter between `e' and `p', inclusive. The pattern:

[A-Za-z]

matches any upper or lower case letter.

[A-Za-z0-9]

 matches any alphanumeric character.

A range of characters can be embedded in a longer range. For example, the pattern:

[ac-fh]

 matches any of `a', `c' through `f', and `h'.

If searching is not in case-sensitive mode, no distinction between lower case and upper case letters is made in character ranges. In this situation, for example, the character range:

[a-z]

 would match any upper- or lower-case letter.

You can reverse the meaning of a character range by preceding it with a caret, `^': this causes it to match any character not in the range. For example:

th[^ei]n

 matches `than' but not `then' or `thin'. An expression of the form:

[^char1-char2]

 matches any character not in the range of characters beginning at char1 and ending at char2.


Re-using the search string

If you surround a sub-expression in the search string by parentheses, `(' and `)', you can refer in the replace string to whatever this sub-expression matches. In general, an expression in the replace string of the form `\n', where n is a number from 1 to 9, means `replace this expression with whatever the nth expression in brackets in the search string has matched'. For example, if the search string is:

(.)read

 and the replace string is:

\1ox

 then if the search string matches `bread', the found text will be replaced by `box'. This is because the sub-expression `(.)' matched the letter `b'; the expression `\1' in the replace string means `replace this expression with whatever is matched by the first expression in parentheses in the search string'. Therefore `b' is substituted for `\1' and the replace string becomes `box'.

Here is a more complicated example: suppose the search string is:

(v.*e) (v.*a)

 and the replace string is:

\2 \1

Now the search string may match the words `vice versa'. The first sub-expression, `(v.*e)', matches `vice' and the second sub-expression, `(v.*a)', matches `versa'. In the replace string, HoTMetaL replaces `\2' by what the second sub-expression in the search string matched, and replaces `\1' by what the first sub-expression matched. Therefore the replace string becomes `versa vice'. The net effect of the operation is to replace an occurrence of `vice versa' with `versa vice'.

It is possible to nest sub-expressions. In this situation, the sub-expressions are numbered according to the order of occurrence of their left parentheses. For example, if the search string were:

(a(bc)d)

 and the replace string:

\2 \1

 the effect would be to find `abcd' and replace it by `bc abcd'.

The expression `\0' in a replace string refers to the entire string that was matched by the search string. For example, if the search string were:

fish

and the replace string were:

gone \0ing

 then an occurrence of `fish' would be replaced by `gone fishing'.

You can use `\n' expressions in attribute replacement values: one application of this technique is changing the value of a group of URLs in some regular way. (The Publish... command (Moving your files to the Web) lets you change the scheme for a set of URLs: the `\n' is actually a more general form of this kind of substitution). For example, if you want to change all of the filenames in your A elements to have the `.htm' file extension instead of `.html', you could use the following pattern for the find string:

<a href="(.*)html"

And the replace string:

<a href="\1htm"

The element is matched by `<a'; the attribute that contains the URL value is called HREF; the pattern `(.*)' matches everything in the URL up to the characters `html'; in the replacement, everything this pattern matched is substituted for `\1', and the characters `htm' are appended, thus creating the modified filename.

There's an even simpler way to do this, if you're sure that all the filenames end in `.html'. Use the following find string:

<a href="(.*)l"

And the replace string:

<a href="\1"

In this case, the replacement string will consist of everything the find string matched, except the final letter `l'.


Summary

The following list summarizes the search patterns and special characters available in HoTMetaL's search facility.

ordinary character

 itself

<name, <name>

 the element name

. (dot)

 any single character

x*

 0 or more occurrences of the character x

(pattern)*

 0 or more occurrences of pattern

x+

 1 or more occurrences of the character x

(pattern)+

 1 or more occurrences of pattern

x?

 0 or 1 occurrences of the character x

(pattern)?

 0 or 1 occurrences of pattern

pattern1|pattern2

 pattern1 or pattern2

^pattern

 pattern immediately following markup

pattern$

 pattern immediately preceding markup

[string]

 any single character in string

[^string]

 any single character not in string

[char1-char2]

 any character in the range char1-char2

[^char1-char2]

 any character not in the range char1-char2

\n

 in a replace string, is replaced by the text matched by the nth subexpression in brackets in the search string

\0

 in a replace string, is replaced by the text matched by the entire search string


Tables

HoTMetaL provides a convenient table model that can be displayed by Web browsers.

Inserting a table

Properties

Adding and deleting rows and columns

Spanning table cells

General information


Inserting a table

You can insert a table by clicking on the [image] toolbar button or by choosing the Insert Table... command in the Markup menu.

This gives you a dialog box that lets you specify the number of rows and columns in the table. The Insert button in this dialog box will be grayed-out if it is invalid to insert a table at the current insertion point.

All tables in HoTMetaL will be the same width as the document window.


Properties

The Cell Properties... and Row Properties... commands in the Markup menu let you change the appearance of a table. These settings will affect how the table is displayed in a browser, depending on the browser's capabilities.

Vertical alignment

Horizontal alignment

Column/cell width

Wrapping


Vertical alignment

The vertical alignment specifies whether a cell's content is aligned with the top, middle, or bottom of the cell. Vertical alignment can be set for a particular cell or row: a setting for a cell takes precedence over a row setting. To set the vertical alignment:

• Put the insertion point inside the cell or column whose vertical alignment you want to set.

• Choose Cell Properties... or Row Properties... as appropriate.

• Make a choice from the Vertical Alignment  drop-down list box.

• Click on the Apply button.


Horizontal alignment

Horizontal alignment (justification) specifies how the text in a table cell is aligned with the sides of the cell. Your choices are left, right, centered, and justify (that is, aligned on both sides). Horizontal alignment can be set for a particular cell or row: a setting for a cell takes precedence over a row setting. To set the vertical alignment:

• Put the insertion point inside the cell or column whose horizontal alignment you want to set.

• Choose Cell Properties... or Row Properties... as appropriate.

• Make a choice from the Horizontal Alignment  drop-down list box.

• Click on the Apply button.


Column/cell width

By default, when a column is displayed in a browser its width will be adjusted to the longest piece of text in any cell in the column. To set the width of a cell explicitly (this sets it for the whole column containing the cell):

• Put the insertion point inside the cell whose width you want to set.

• Choose Cell Properties....

• Enter a value in the Width text box.

• Click on the Apply button.

The value you should enter for the width depends on what the browser expects. Netscape currently interprets a value that you enter as a number of (screen) pixels. Other browsers may interpret the width value differently, or even ignore it. An alternative is to use cell spanning (Spanning table cells) instead: for example, a cell that spans over two cells will be displayed twice as wide as a normal cell.

If more than one cell in a column has a width setting, the longest one is used.

The width setting does not affect how the table is displayed by HoTMetaL.


Wrapping

By default, the content of a cell will wrap when it is displayed in the browser, that is, it will be displayed over several lines rather than one long line. If you want wrapping turned off for the current cell:

• Put the insertion point inside the cell you want to modify.

• Choose Cell Properties....

• Turn on the NoWrap check box.

• Click on the Apply button.

To turn wrapping off for the current row:

• Put the insertion point inside the row you want to modify.

• Choose Row Properties....

• Turn on the NoWrap check box.

• Click on the Apply button.

Some browsers may ignore these settings.


Adding and deleting rows and columns

You can add or delete a single row or column using the Edit Table... command.

When you select Edit Table... you will get a palette containing several buttons.

The six buttons along the bottom of the palette carry out the following operations:

– [image] : create a new row above the current row.

– [image] : create a new row below the current row.

– [image] : delete the current row.

– [image] : create a new column to the right of the current column.

– [image] : create a new column to the left of the current column.

– [image]: delete the current column.

If you insert a row or column, it adopts the defaults of the current row or column. You cannot delete a column if it has one or more cells that span an adjoining column; similarly, you cannot delete a row if has one or more cells that span an adjoining row. If you still want to perform the deletion, you will have to contract the spanning cells (see the next section, Spanning table cells).


Spanning table cells

The Edit Table... command allows you to change the spanning of the cell containing the insertion point.

Eight icons at the top of the palette extend and contract cells.

Extending cells

Contracting cells


Extending cells

Extending a cell is like `knocking out the wall' between cells. The cell-extending icons, in clockwise order from the top, are:

– [image] : extends the top boundary of the cell one cell up.

– [image] : extends the right boundary of the cell one cell to the right.

– [image] : extends the bottom boundary of the cell one cell down.

– [image] : extends the left boundary of the cell one cell to the left.

There are some rules about extending cells:

– The cell being extended into must be empty.

– The boundary that is being removed must be the same length or height as the cell being extended into. For example, a cell that spans one row cannot extend into an adjacent cell that spans three rows.

– You cannot extend vertically into a cell that has already been extended vertically, or extend horizontally into a cell that has already been extended horizontally.

– You should avoid extending every cell in a row up or down. This will collapse the row into the adjacent row so that only one row is visible, even though two rows are actually present in the table markup.


Contracting cells

The cell-contracting icons, in clockwise order from the top, are:

– [image] : pulls the top boundary of the cell one cell down.

– [image] : pulls the right boundary of the cell one cell to the left.

– [image] : pulls the bottom boundary of the cell one cell up.

– [image] : pulls the left boundary of the cell one cell to the right.


General information

This section contains general information and advice on using tables

Table border

Table caption

Table header

Nested tables

Reformatting tables


Table border

The `table border' refers to the lines that form the boundary of each table cell when the file is displayed in a browser. The BORDER attribute of the TABLE element controls the appearance of the border. To modify it, do the following:

• Move the insertion point to the right of the TABLE start-tag.

• Choose Edit SGML Attributes... from the Markup menu, or type F6.

• Select a value for the BORDER attribute and click on Apply.

A value for BORDER may be interpreted differently from browser to browser. In particular, the numerical values may not be recognized by some browsers.


Table caption

To give a table a caption:

• Put the insertion point just to the right of the TABLE start-tag.

• Choose Insert Element..., or type Ctrl-I.

• Insert a CAPTION element.


Table header

Table cells are represented by the TD element. Cells can be changed to TH (table header) elements by putting the insertion point in the appropriate cells and choosing the Change... command. If you simply wish to bolden the text, we suggest that you insert a B or STRONG element inside the table cell(s) instead of changing the table cell element.


Nested tables

HoTMetaL does not support `nested tables', that is, tables inside tables.


Reformatting tables

Sometimes tables that were not created with HoTMetaL's graphical table editor will not display nicely in HoTMetaL. Here are some things you can try to improve the appearance:

– If the content of a cell is particularly long it may appear cramped because the cell width does not expand. One solution is to extend cells to the left or right to make a wider cell. If this is not convenient (perhaps the adjacent cells already have data in them) you can create a new column adjoining the current column, and then extend the current cell into the new column. This will create a wider cell. You may want to extend all the cells in the current column in this way.

– If you insert an element inside a table cell and all or part of the tag icon is invisible, it may be that you need to use the Styles... command to set the `space above' to 0 for this element.

– Note that tables must be rectangular. Opening a file with a non-rectangular table with HoTMetaL could cause problems. You should try filling in the missing cells and then opening the file again.

– If you can't find any other way of improving the table format, you should consider re-creating the table, this time using HoTMetaL's table-editing commands.


Glossary

This chapter defines many of the terms commonly heard when talking about the Web. In definitions, the first occurrence of a term that also has a definition in this glossary is marked with a dagger .

anchor

1.  An element in an HTML  document that points to one of:

– another document

– a specific location in another document

– a specific location in the current document

2. An element that denotes a specific location in a document, pointed to by another anchor.

 When the document is displayed in a browser, clicking on an anchor (of the first type) causes the browser to display the document and/or the location that it points to.

attribute

A value that is associated with an element  but is not part of the content of the element (that is, text or sub-elements). For example, the URL  part of an anchor  is an attribute; you would use an attribute to specify the alignment of an image. In an HTML  file, the attributes are actually located inside the element's start-tag, but when you're editing in HoTMetaL, you view and edit attributes using the Edit SGML Attributes... command.

browser

A networked program that communicates with Web servers , used for retrieving and displaying documents from the World Wide Web . Compare this with editor. Some well-known browsers are Mosaic , Netscape,Lynx , and Cello.

CERN

The European Laboratory for Particle Physics in Geneva, where the World Wide Web  was `invented'. For more information, see http://www.cern.ch/.

CGI

An acronym for Common Gateway Interface. This is a feature of Web servers  that allows HTML clients  such as browsers  to communicate over the web with scripts installed on the server. HTML forms  are often processed by such scripts. `CGI scripts' can be written in any programming language that will run on the server.

clickable image map

See image map.

client

A program, such as a browser , that uses HTML  and communicates with a Web server .

DNS

Domain Name System. This is the way in which the network turns a host or Internet domain (e.g., sq.com) into an Internet IP address for use with TCP/IP .

editor

A program, such as HoTMetaL, used to create, or change the content of, HTML  documents. Compare this with browser.

element

Elements are the structural building blocks of HTML  documents. Blocks of text in HTML documents are surrounded by elements according to their function in the document: for example, headings, lists, paragraphs, and anchors are all surrounded by specific elements.

firewall

In networking, a firewall is a computer that prevents an intruder from accessing all the computers on a network if he or she manages to break into one computer someplace. The firewall usually sits between your inside network and the outside Internet. For more information, see Cheswick & Bellovin's approachable book Internet Firewalls: Repelling the Wily Hacker.

form

A group of elements (enclosed by a FORM element) in an HTML  document, which generate graphical controls such as  text boxes,  radio buttons, and check boxes when the document is displayed in a browser. The user can enter information in a form and use the browser to submit it to a program on a Web server .

FTP

The File Transfer Protocol; one of the schemes  that can be specified in a URL . This has traditionally been one of the most important of the network services. It lets you pick up a copy of a file from a remote computer, provided that you can connect to that computer (with TCP/IP , for example).

GIF

The unofficial standard graphics format used in HTML  documents. This format is owned by CompuServe. See also PNG.

gopher

A line-mode Internet protocol that predates the Web . Web browsers  can normally communicate with gopher servers.

home page

The top-level document on an organization's Web server , usually containing introductory information and links to other relevant pages .

hot image; hot spot; hot text

Hot text is text in a hypertext  document (such as an HTML  document) that is a link to some other file; a hot image is an image that is a link to some other file; a hot spot is hot text, or a region in an image map .

HTML

The HyperText Markup Language. This is the usual format for documents that are `published' on the Web . HTML is an application of SGML .

HTML browser

See browser.

HTTP

The HyperText Transfer Protocol. This is used to transfer HTML documents over the network, between a Web server  and an HTML browser , while you wait. The HTTP protocol is implemented by a number of Web servers.

HTTP server

See Web server.

hypertext

Text that contains links to other documents. HTML  documents are examples of hypertext.

ICADD

The International Committee for Accessible Document Design. Techniques created by ICADD and documented in ISO 12083 specify how to automatically transform SGML  files (including HTML  files) into input to a Braille, large print, or synthesized voice system. All HTML documents created by HoTMetaL are ICADD-ready and can readily be converted to these formats using ICADD techniques.

IETF

The Internet Engineering Task Force, responsible for the technical management of the Internet. The IETF coordinates the development of the HTML  standard.

image map; image map file

An image map is an image that is divided into regions, each of them associated with a URL . Clicking in a region causes the file referred to by the associated URL to be accessed. An image map is also called a clickable image map. An image map file is a file that defines the regions in an image map and assigns them to URLs.

interlaced GIF

A GIF  file that is first displayed in the browser at a low resolution, and then in successively higher resolutions, until the whole image has been downloaded. This is sometimes referred to as progressive display. Not all browsers support this feature.

ISO

The International Organization for Standardization (`ISO' is not an exact acronym).

ISO 8859/1 character set

This is the character set for `special' or `accented' characters supported by HTML. This character set is also called `ISO Latin 1'. It includes characters required for most western European languages: Dutch, English, French, German, Italian, Irish, the `Iberian' languages, and the `Nordic' languages. This character set is one of several in the ISO 8859 standard: others support, for example, eastern European languages and Cyrillic-based languages. Only ISO 8859/1 is currently supported by HTML, however.

line-mode browser

An HTML  browser that can be used on a `dumb terminal' such as a VT100 or a PC with communications software. The most common are Lynx  and also a program called www from CERN .

link

See anchor.

Lynx

A common line-mode  HTML  browser . Lynx can be used over a dial-up line or if you don't have a windowing system.

mailto

A scheme  that causes a browser to send a form to a particular e-mail address, or generate a mail-editing window.

markup

Special codes in a document that specify how parts of it are to be processed by an application. In a word-processor file, markup specifies how the text is to be formatted; in an HTML  document, the markup specifies the text's structural function (heading, title, paragraph, etc.).

MIME

The Multipurpose Internet Mail Extensions (RFC 1510), extensions that allow e-mail messages to contain audio, video, and multiple files. It is also the format that Web servers  and browsers  use to transfer files. The MIME content type of a file tells a browser how to process it. The content type for HTML files is `text/html'.

Mosaic

One of the most widespread HTML browsers .

NCSA

The National Center for Supercomputing Applications, located at the University of Illinois at Urbana-Champaign, Illinois. The NCSA is an (indirectly) U.S. government-funded body that exists to try and make powerful computers more accessible to researchers. Mosaic  was originally written at NCSA.

Netscape

A popular Web browser.

page

A single HTML document (which can be longer than one screen).

PNG

Portable Network Graphics; proncounced `ping'. A graphics format chosen by CompuServe to replace GIF , on account of patent infringments involving the compression algorithm used with GIF. PNG is a `lossless' format; some of its advantages over GIF are better (24-bit) color support, compression, and anti-aliasing and transparency capabilities.

progressive display

See interlaced GIF.

proxy server

If you have a firewall  at your site, you can't normally connect directly to a server  on the Internet. You need an agent, a proxy server running on the firewall, to make the connection for you. To you, inside the firewall, it pretends to be the server that you're attempting to connect to; on the outside, it pretends to be the client, and talks to the real server, thus letting you talk to a server outside the firewall (or vice versa).

relative URL

A URL  that is missing some information (such as the scheme  or network location), which a browser  is expected to inherit from the URL of the document that contains the relative URL.

scheme

The part of a URL  that tells an HTML client  such as a browser  how to retrieve the file specified in the URL.

server

See Web server.

SGML

An international standard for describing the markup  of structured documents. The basic idea behind SGML is that information can be made independent of particular hardware and software. This is done by storing all documents as text-only files (with references to documents in other formats, such as graphics, when required), and using markup that describes the structure of documents, rather than their physical appearance. SGML is described by the ISO 8879 standard (1986). HTML  is an application (a particular instance) of SGML.

tag

An element  in an HTML file begins with a start-tag (e.g., `<PRE>') and (usually) ends with an end-tag (e.g., </PRE>). In the HoTMetaL display tags are represented by tag icons and the beginning and end of an element. Sometimes tags are called `commands', but this isn't correct.

TCP/IP

Transmission Control Protocol/Internet Protocol. This is the low-level protocol used by much of the Internet. It's really two protocols; IP packets are sent over a network that itself uses TCP. Other common variations include SL/IP (pronounced `slip'; Serial Line/Internet Protocol), and PPP (Point to Point Protocol).

transparent GIF

A GIF  image that has had one color (usually the dominant background color) designated as `transparent', so that when the image is displayed in a browser, the background is colored with the browser's background color. The desired effect is an image that does not have a rectangular boundary.

URI

Uniform Resource Identifier. This is a generic name for any of a class of ways of identifying resources on the Internet. Three types of URIs are URCs (Uniform Resource Classification), URLs (see the next entry), and URNs (Uniform Resource Name). Implementations of URCs and URNs are still in an experimental stage. The basic idea is that a resource (e.g., a document) is identified by a URN, a kind of `public identifier' in the SGML  sense. The URN is resolved into a URC, which is a collection of information about the resource (it could include, for example, the price of obtaining the resource, and one or more URLs).

URL

Uniform Resource Locator. A URL is the address of a file, written in a format that can be interpreted by a Web server , which then retrieves the file. A URL consists of a filename and, usually, a scheme that tells how the file is to be retrieved. For most files on Web servers, the scheme http  is used.

W3O

The WWW Organization. This has been set up at MIT modelled after the X Consortium that promotes X Windows. W3O is a not-for-profit organization that provides sample code. For more information, see http://www.w3.org/.

Web, the

An informal name for the World Wide Web .

Web server

A networked program that responds to requests from local or remote computers for HTML  files. You give the Web server  a file name (in the form of a URL ) and it gives you back the file (which can be in any format, text or binary) over the same network connection.

World Wide Web

This is a generic term for the collection of Web servers  and browsers  that literally spans the world. Usually abbreviated WWW.

WWW

The World Wide Web.


Appendix 1: SGML conformance

HoTMetaL is an SGML Application Conforming to International Standard ISO 8879 — Standard Generalized Markup Language.

HoTMetaL conforms to the following system declaration (see clause 15.6 of ISO 8879):

<!SYSTEM "ISO 8879:1986"

CHARSET

BASESET "ISO 646-1983//CHARSET International

Reference Version (IRV)

 //ESC 2/5 4/0"

DESCSET

0	9	UNUSED

9	2	9

11	2	UNUSED

13	1	13

14	18	UNUSED

32	95	32

127	1	UNUSED

BASESET "ISO Registration Number 109//CHARSET

ECMA-94 Right Part of Latin Alphabet Nr. 3//ESC 2/13 4/3"

DESCSET

128	32	UNUSED

160	5	32

165	89	32

254	1	127

255	1	UNUSED

CAPACITY PUBLIC

"ISO 8879:1986//CAPACITY Reference//EN"

FEATURES

MINIMIZE

DATATAG 	NO

OMITTAG	YES

RANK	NO

SHORTTAG	YES

LINK

SIMPLE 	NO

IMPLICIT	NO

EXPLICIT	NO

OTHER

CONCUR	NO

SUBDOC	NO

FORMAL	YES

SCOPE DOCUMENT

SYNTAX PUBLIC

"ISO 8879:1986//SYNTAX Core//EN"

VALIDATE

GENERAL	YES

MODEL	YES

EXCLUDE	NO

CAPACITY	NO

NONSGML	NO

SGML	YES

FORMAL	YES

SDIF	NO

PACK	NO

>